0

可能的重复:
Linux 上 C 中字符数组和指针的分段错误

考虑以下代码

#include <stdio.h>

int main()
{
   char a[] = "hello";
   char *ptr = "world";
   a[2] = 'y'; //Line1. No segmentation fault
   ptr[2] = 'u'; //Line2. Causes Segmentation fault

   printf("name = %s\n", a); 
   printf("name = %s\n", ptr);

   return 0;
}

如果 Line2 由于试图修改字符串常量而导致分段错误,那么为什么该规则不适用于 Line1?

4

0 回答 0