黑马程序员技术交流社区
标题:
字符串赋值
[打印本页]
作者:
15342193033
时间:
2014-12-25 19:21
标题:
字符串赋值
我看视频有一知识点:
char name[] = "it";
name[0] = "T";
这是字符串变量,可以赋值;
char * name = "it";
*name = "T";
有错:这是字符串常量,放常量区,不能赋值;
有点模糊
作者:
宁静的夏天
时间:
2014-12-25 19:34
哪个视频呢
作者:
swon13
时间:
2014-12-25 19:50
不懂帮顶~~~~~~~~~~~~~~~~~
作者:
从今以后
时间:
2014-12-25 19:51
char name[] = "it";
name[0] = "T";
这是字符串变量,可以赋值;
上面那个是字符数组,也就是char name[] = {'i', 't', '\0'};
char *name = "it"; 这个是把常量字符串"it"首地址赋给name。"it"在常量区。
*name = "T";
可以写成name = "T"; 让name重新指向另一个字符串常量。
*name = "T"等于说是试图修改常量字符串"it"首字符,所以不可以。
而且双引号"T"是字符串多个\0,有两个字符,也不可能存进只有一个字符的*name。
作者:
Xwoder
时间:
2014-12-25 21:43
char * name = "it";
隐含的是
const char * name = "it";
作者:
15342193033
时间:
2014-12-26 15:18
从今以后 发表于 2014-12-25 19:51
char name[] = "it";
name[0] = "T";
这是字符串变量,可以赋值;
o我好像明白点了,谢谢:)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2