char *p="girl"的含义是定义字符型指针变量p,p的值是字符串“girl”,对吗? 求详细点的解释,谢谢

如题所述

不对的,p的值应该是girl字符串的首地址。

*p是指针,他的类型是char型,指向常字符串girl,*p的值是girl,p的值是girl字符串的首地址。字符指针也可以指向一个字符串,可以用字符串常量对字符指针进行初始化。例如:char *str = "hello" ;这是对字符指针进行初始化。此时,字符指针指向一个字符串常量的首地址。 

还可以用字符数组来存放字符串,例如:char string[ ] = "Welcome to dotcpp.com";在这个语句中,string 是数组名,代表字符数组的首地址。因此可以通过数组名 string 来访问字符串。

扩展资料:

对指针进行初始化或赋值只能使用以下四种类型的值 :

1、 0 值常量表达式,例如,在编译时可获得 0 值的整型 const对象或字面值常量 0。

2、类型匹配的对象的地址。

3、另一对象末的下一地址。

4、同类型的另一个有效指针。

指针与数组关系:

1、指针数组:就是一个由指针组成的数组,那个数组的各个元素都是指针,指向某个内存地址。 char *p[10] p是一个指针数组

2、数组指针:数组名本身就是一个指针,指向数组的首地址。注意这是一个常数。

参考资料来源:百度百科-指针

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
*p是指针,他的类型是char型,指向常字符串girl,*p的值是girl,p的值是girl字符串的首地址本回答被提问者采纳
第2个回答  2012-01-01