【发布时间】:2013-02-18 02:26:01
【问题描述】:
void dynamicArray(int** num1, int** num2, char*** str, int size)
{
int i = 0;
*(num1) = (int*)malloc(sizeof(int) * size);
*(num2) = (int*)malloc(sizeof(int) * size);
*(str) = (char**)malloc(sizeof(char*) * size);
for( i = 0; i < size; i++){
*(*(str) + i) = (char*)malloc(sizeof(char) *5);
}
return;
}
我是否成功地为我的 ***char 正确分配了内存?我正在尝试创建一个二维数组“句子”。我的主程序有问题,我认为这可能是问题所在。
【问题讨论】:
-
很少需要三重间接,当需要它时,他们通常非常精通指针。我不敢说这里就是这种情况。
-
@WhozCraig 他正在投射
malloc()的返回值 -
感谢您提醒我为什么喜欢 Java。
-
不,它应该是 int 的大小,我想要一个包含 int 数量的“数组”。
-
据我所知,语法是正确的。我认为您正在尝试在一个功能中执行多项不相关的任务。例如,您可以创建一个为
int数组分配内存的函数,如果您需要多个数组,只需多次调用它即可。另外,你有什么问题?