c语言指针为题
(1)char *p="hello" (2)char *p; *p="hello"; (3)char *p; p="hello" 这三者有什么区别啊?第二个错在哪里呢?
追问:“但是解引用后却不是指针”这句话什么意思呢?
(1)char *p="hello" (2)char *p; *p="hello"; (3)char *p; p="hello" 这三者有什么区别啊?第二个错在哪里呢?
追问:“但是解引用后却不是指针”这句话什么意思呢?
答案:三个基本相同,定义一个char指针 p;
只是赋值的方式不同,
a)是定义同时赋值
b)和c)一样,先定义,后赋值。
但b)*p="hello"中, 的*p就是具体的char,而不是char指针。
其他:高手一般不用指针吧,问题太多。(2)里*有问题 第一句和第三句式等价的,没有区别
但是第二句是错误的
p是指针,但是解引用后却不是指针,只有指针才指向字符串的首地址,所以第二句错误
上一个:【悬赏】c语言问题,关于定义的int、float等
下一个:c++中怎样写完一个程序后,再不关闭的情况下,新建另一个程序?