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、数组指针:数组名本身就是一个指针,指向数组的首地址。注意这是一个常数。
参考资料来源:百度百科-指针
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询