虽然我们可以使用一个指针指向一个字符数组,即字符串但是C中的指针可以指向一个字符吗? 例如。这段代码有效吗?
char *p='a';
答案 0 :(得分:1)
是的,当然你可以使用一个指针来指向一个角色,但你不能按照你提议的方式去做。
char* p = 'a';
和
一样不正确int* q = 5;
您正在为指针指定字符值。请记住,指针是一个内存地址,因此char* p = 'a';
表示您认为内存地址char
中有'a'
。这可能不是你想要的,从概念上说它没有意义。
你可以像这样完成你想要的东西:
char c = 'a';
char* p = &c;
答案 1 :(得分:-1)
char *p=&a;
有效,其中a是单个字符。它是char *
指向单个字符的常量。
[根据@ RedAlert的评论更正]