如何声明一个指向文件的动态指针数组

时间:2014-01-06 08:42:08

标签: c arrays file pointers

我试图动态创建一个指向文件的指针数组。要求用户输入一个用于大小的整数,我需要创建一个具有该大小的指针数组。

 FILE** arrOfFiles = NULL;
 printf("Enter the number of units\n");
 scanf("%d", &numOfUnits);
 arrOfFiles = (FILE**)malloc(sizeof(FILE*)*numOfUnits);

该宣言是否适合我试图做的事情?我只是不确定。 感谢。

2 个答案:

答案 0 :(得分:1)

你需要检查numOfUnits的值是否在范围内(1,some_number),如果数字合理,则只调用malloc。

就像注释所说的那样,不需要在C中强制转换malloc的返回值。如果这段代码将被移植到C ++中,你将需要强制转换。

答案 1 :(得分:1)

没有必要使用纯粹的C. CHeck this

因此,只要此代码未移植到C ++,它就可以正常运行而无需强制转换。