char *a = "i love china";怎么理解啊?
发布网友
发布时间:2024-10-21 15:03
我来回答
共1个回答
热心网友
时间:2024-11-18 19:37
这个语句的含义是:
定义一个字符型指针变量a,同时在内存中放置一个常量字符串“i love china”,并把首字母i的地址赋值给变量a。这个过程也叫做“让字符型指针变量a指向常量字符串'i love china'”。
注意:
1、系统在放置“i love china”这12个字符后面自动放置一个字符串结束符'\0',一共有13个字符。但是,当用strlen(a)函数获取字符串a的长度时,得到的长度是12,而不是13。
2、由于“i love china”是常量字符串,所以,组成它的12个字符是不能修改的,例如不能修改为“I love China”(改变大小写)。这是不允许的。
3、尽管常量字符串不能修改,但变量a还可以执行另一个字符串。如a=“I love Beijing”。这是允许的。
有什么问题请留言。