Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C编程,操作字符串时出现分段错误_C_String_Pointers_Char_Segmentation Fault - Fatal编程技术网

C编程,操作字符串时出现分段错误

C编程,操作字符串时出现分段错误,c,string,pointers,char,segmentation-fault,C,String,Pointers,Char,Segmentation Fault,我有一个字符串数组,定义为指向字符串的指针数组,如下所示 char* dict[50]; dict[0][0]= 0; printf("%d", dict[0][0]); //这是一个分段错误,有人能解释一下原因吗?另外,如果我把dict[0]=0,它是否与dict[0][0]=0相同?原因是您没有分配任何内存char*dict[50]是一个50个元素长的字符指针数组:如果这些指针没有被指向有效内存,写入它们是未定义的行为,经常会使程序崩溃或更糟。您有一个50个指针的数组,其中没有一个是初始化

我有一个字符串数组,定义为指向字符串的指针数组,如下所示

char* dict[50];
dict[0][0]= 0;
printf("%d", dict[0][0]);

//这是一个分段错误,有人能解释一下原因吗?另外,如果我把dict[0]=0,它是否与dict[0][0]=0相同?原因是您没有分配任何内存
char*dict[50]
是一个50个元素长的字符指针数组:如果这些指针没有被指向有效内存,写入它们是未定义的行为,经常会使程序崩溃或更糟。

您有一个50个指针的数组,其中没有一个是初始化的

执行
dict[0]=0
将第一个数组元素设置为
NULL
指针


执行
dict[0][0]=0
将取消对未初始化指针的引用,或者,如果您已经执行
dict[0]=0
,将取消对
NULL
指针的引用。

您试图实现什么?你能详细说明一下吗?