我有大量的包含整数的64x64矩阵的txt文件。 txt文件具有如下名称:是否可以使用循环来声明变量?
mat_1.txt,mat_2.txt,mat_3.txt,mat_4.txt,...,mat_n.txt。
我必须创建一个变量,在主机和设备上分配空间,读取txt文件并复制到设备。是否有可能在一个循环中完成所有操作?
我知道如何用sprintf
创建一个字符串,但不知道如何用这个字符串来声明变量。
char fname[10];
for(int k=1; k<=n; k++)
{
sprintf(fname, "mat_%d", k);
int *fname; // how to say to compiler that insted of `fname` there
// should be `mat_1` and in next cycle `mat_2`?
}
你提供的代码片段,如果你删除了int指针声明,已经做了你想要的。它会第一次更新'fname'为''mat_1'',第二次更新'mat_2'等。 – 2012-03-29 12:03:58
为什么有人会这样做?动态变量名称在脚本语言中已经很混乱了,编译语言中没有人需要它们! @JoachimPileborg:我认为他想动态地创建名为'mat_X'的变量 – ThiefMaster 2012-03-29 12:06:55
如果它像@ThiefMaster所说的那样,那么不是不可能的。 C没有这样的功能,即使在图书馆也没有。 – 2012-03-29 12:12:42