gpt4 book ai didi

c - 这个 char* [] 赋值有什么问题?

转载 作者:行者123 更新时间:2023-11-30 18:32:29 25 4
gpt4 key购买 nike

我在使用以下代码时遇到问题,但无法弄清楚?如果有人有任何想法,请告诉我。

我有两个全局变量:

char *newArgv[100], *s[MAXCHAR];

和一个函数

getword(char *w)

在我的主函数中,我通过说来调用该函数

getword(s[num]);

在 getword 函数中,我有一个作业,内容类似于

w[index] = 'e';

问题出在最后一行代码中。该项目(显然)可以编译,但程序崩溃了。有人知道为什么吗?谢谢!

最佳答案

您正在取消引用 NULL 指针。

s 是一个 MAXCHAR NULL 指针数组。 s[num] 返回第 num 个指针 - 它也是 NULL。所以在 getword 中,w[index] 是非法的。

您需要动态分配内存:

for ( int i = 0 ; i < MAXCHAR ; i++ )
s[i] = malloc(MAX_WORD_LENGTH);

关于c - 这个 char* [] 赋值有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12887197/

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