黑马程序员技术交流社区
标题:
关于指针字符串与字符串数组的区别
[打印本页]
作者:
Jack-xie
时间:
2014-9-30 11:17
标题:
关于指针字符串与字符串数组的区别
问题:char *str1 = "boy";
char str2[5] = "girl";
请问他们之间在取值、打印方面有哪些具体的区别呢?
作者:
songxing10000
时间:
2014-9-30 11:41
本帖最后由 songxing10000 于 2014-9-30 11:43 编辑
打了那么多,居然乱码,少了好多东西,
[size=14.3999996185303px][size=14.3999996185303px]
关于 请问他们之间在取值、打印方面有哪些具体的区别呢?
[size=14.3999996185303px]个人理解(由于在win7下面,未能测试,纯想象,有错请指出,共同学习进步):
[size=14.3999996185303px]一、取值(初始化,再赋值):
//1、初始化
复制代码
二、打印
[size=14.3999996185303px]
//打印char *str1 = "boy";
char *str1 = "boy"; //%s即可
复制代码
好像是差不多了,本来应该测试再发出结果的,但是win7上未能测试,,,有错,请各们指出
作者:
ch8898163
时间:
2014-9-30 18:44
char *str1 = "boy";表示指针指向‘b’的地址开始读取吧,然后 char str2[5] = "girl";是说明字符串数组容量5,读取‘g’,'i','r','l','\0'.
作者:
cp1454298677
时间:
2014-10-1 19:14
str1 实际是保存 “boy" 字符串的 首地址。 而 石头人
作者:
cp1454298677
时间:
2014-10-1 19:25
str1 实际 上 是 保存”boy“ 首地址 的变量 。 而 str2 是 保存 数组str【2】 的首地址的常量。 而 对于 取值 都可以使用【】 * 运算符,并且c语言 不检查数组越界。也就是在取值上,,打印上 是没有什么 本质的区别的。
作者:
alpha.huai
时间:
2014-10-1 22:07
指针用时,最好malloc。用完free
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2