gpt4 book ai didi

c - 这是 C 中动态数组分配的正确代码吗

转载 作者:行者123 更新时间:2023-11-30 17:54:29 24 4
gpt4 key购买 nike

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 正确分配了内存?我正在尝试创建一个二维“句子”数组。我的主程序出现问题,我认为这可能就是问题所在。

最佳答案

来自评论:

The issue I'm having is with the string array. In another function, I assign each *strPtr a string. When I do so, it overwrites all the values before it. i.e. *strPtr = "You" *strPtr + 1 = hi. NOW *strPtr + 0 well equal hi.

由于这段代码看起来不错,但你在这里的解释看起来很有趣,我认为你使用的数组是错误的。

*strPtr[1] != *strPtr + 1 
*strPtr[1] == *(strPtr + 1) == strPtr[1][0]

您应该使用第二行中的一个表单,而不是第一行。

关于c - 这是 C 中动态数组分配的正确代码吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14928600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com