在声明它时,是否可以在数组名称中包含循环计数器?(在C中)

Yia*_*nis 0 c arrays counter naming for-loop

我有这个循环,它根据用户输入的值创建一定数量的数组.我想在数组名称的末尾包含数组的计数器,使其为:array1 [],array2 [],array3 []等等,每次迭代一次.这可能吗?我们刚开始在大学学习C,所以我对它还不太了解.我尝试了以下方法:

#include <stdio.h>

int main(void)
{
    //Variables
    int i, columns, column_size;

    //Read input
    printf("Input number of columns:\n");
    scanf("%d", &columns)

    //Loop to create arrays
    for (i=1; i<=columns; i=i+step)
    {
        //Read column size
        scanf("%d", &column_size);

        //Create an array of given size for this column
        int column+"i"+[column_size];
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

aki*_*ira 5

我想包括数组的数组名的端部,使得这是一个计数器:array1[],array2[],array3[]等等,每一个迭代

这是不可能的.C是一种编译语言,这意味着程序(编译器)在一个时间点创建程序,程序在不同的时间点吃掉用户输入.

甚至"变量"的名称也可能在编译后消失,执行程序时不需要它们.

int a;
Run Code Online (Sandbox Code Playgroud)

所有这一切都是告诉编译器你,程序员需要32位空间来存储东西.如果您想稍后存储某些内容,请使用名称"a":

a = 42;
Run Code Online (Sandbox Code Playgroud)

编译器计算RAM中当前位置的偏移量,并将"42"存储在该地址.在运行时,使用的"名称"完全不相关,没有查找所涉及的正确位置.

这与Python之类的"解释语言"不同.