我试图动态创建一个指向文件的指针数组。要求用户输入一个用于大小的整数,我需要创建一个具有该大小的指针数组。
FILE** arrOfFiles = NULL;
printf("Enter the number of units\n");
scanf("%d", &numOfUnits);
arrOfFiles = (FILE**)malloc(sizeof(FILE*)*numOfUnits);
该宣言是否适合我试图做的事情?我只是不确定。 感谢。
答案 0 :(得分:1)
你需要检查numOfUnits的值是否在范围内(1,some_number),如果数字合理,则只调用malloc。
就像注释所说的那样,不需要在C中强制转换malloc的返回值。如果这段代码将被移植到C ++中,你将需要强制转换。
答案 1 :(得分:1)
没有必要使用纯粹的C. CHeck this
因此,只要此代码未移植到C ++,它就可以正常运行而无需强制转换。