A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如题。求区别。求区别

3 个回复

倒序浏览
沙拉酱地理课!!!!
回复 使用道具 举报
字符串指针变量,首先它是一个变量,故名思议,他的值是可以改变的,一会我会举个例子,而数组的名字其实是个常亮,他本身其实是指向数组的头指针,他自己不能改变,如果将字符串指针指向数组的话,他们是都可以遍历和访问数组的。
回复 使用道具 举报
比如:
char str[] = "hello world";
char ptr = str;
因为str就是指针,所以可以这样直接复制,他等价于:ptr = &str[0];
在这里 对于str和ptr本身来说
ptr可以做自增操作 比如 ptr ++;或者ptr += 2都是可以的
但事后str就是不行的,它是常量。

对于对数组的访问,其实都是一样的
可以
for (int i = 0; i < count; i++) {
    printf("%c", str[i]);//也可以写ptr[i]也可以写 *(ptr + i)也可以写*(str + i)
}

如果有不明白的,还可以继续探讨,如果有什么不明白的东西,也可以到我的帖子中留言,我会给你解答的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马