修改字符串时出现分段错误

我在这段代码中得到了分段错误错误,但不知道为什么?

#include  int main(void) { char *ptr = "Linux"; *ptr = 'T'; printf("\n [%s] \n", ptr); return 0; } 

ptr是指向字符串文字的指针,但您无法修改字符串文字,将其更改为:

 char ptr[] = "Linux"; 

故障是

 *ptr = 'T'; 

它应该是一个char数组,而不是一个字符串。