C 语言中指针初始化为字符串常量 不可通过该指针修改其内容

1 char b[] = "hello";
2 则“hello”存于栈中,因为定义的是一个数组。
3 
4 char *b = "hello";
5"hello"存于静态存储区中,因为定义了一个字符串常量,并把它的地址赋给了b。
6 如果此时在指针仍然指向静态存储区的情况下通过指针修改其指向的地方,则程序能通过编译,但运行时会报“segmention fault”

 

posted on 2014-01-16 11:23  沉沉-_-  阅读(1851)  评论(0编辑  收藏  举报

导航