c语言 字符指针和字符数组的区别

 我来答
御坂妹妹15842
推荐于2017-12-15 · TA获得超过326个赞
知道小有建树答主
回答量:197
采纳率:0%
帮助的人:226万
展开全部

首先第一点,非常重要的一点:指针和数组是不同的两个类型!


我们从可以从C语言标准文档中得知:

ISO/IEC 9899:1999 - programing language c

6.2.5 Types

20 .

这说明了什么是数组类型

同样在20 .

说明了什么是指针类型。


在了解了两种类型的基础上,我们了解数组和指针的区别:

数组是一组相同类型对象的集合,指针是对一个对象的引用。


它们在使用中表现出了一定的相同点,但不同点也是很多的:

1,数组直接储存对象,指针则是指向一个对象。

2,数组名不能被赋值,指针变量能。

3,sizeof一个数组,得到数组的长度(字节单位),sizeof一个指针,相当于sizeof(void*)。(注意,不同目标平台指针长度可能不同,所以sizeof(void*)是最准确的回答)

4,(可能是考试内容,对于正确性就呵呵)指针是间接访问,数组是直接访问。


如果你对C语言有深入学习的想法,务必去了解一下C语言的ISO标准。

百度网友040a59b
2015-02-14 · 超过21用户采纳过TA的回答
知道答主
回答量:56
采纳率:60%
帮助的人:27.2万
展开全部
字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在
以该首地址为首的一块连续的内存空间中并以‘\0’
作为串的结束。字符数组是由于若干个数
组元素组成的,它可用来存放整个字符串
char *p =“C language”;
char p[]={"C language"};
可以理解为:字符指针是字符数组的退化
但是实际使用中,字符串指针却比字符数组更好用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式