指向字符串的指针 和 字符数组的区别

如题所述

第1个回答  2016-09-19
指针就是内存单元的地址,通过这个地址就可以存取它所指向的数据。指针有指针常量和指针变量之分,指针常量就是一个具体的地址值,指向确定的某个内存数据;指针变量是用来存储指针值的存储单元,可以存储不同的值,以用来指向想让它指向的数据。

数组是内存中的一片区域,用来存放一些相同类型的数据。数组名是这片区域的首单元的地址(这个首地址在程序运行时是确定的、固定的,不变的,即一个指针常量),也就是这个区域里面第一个数据的指针。

根据上面的描述字符数组就是一个指针,他指向该数组中的第一个字符。

接下来要说的就是字符串,C语言中,字符串是以特殊字符'\0'结尾的一串连续的字符,通常用一个指向其起始字符的指针来表示。另外,C语言中经常用字符数组来存储字符串,而数组名就成为了这个字符串的指针了

总结一下,字符数组(那一片存储区域)可以用来按任何顺序或规则,存放任何字符。
当然字符数组也可以用来按字符串的规则,存放字符串,这时,数组名就成为了字符串指针。
相似回答
大家正在搜