C语言的一个简单字符指针问题,这个程序为什么不对
#include<stdio.h>intmain(){char*p=NULL;chara='b';*p=a;printf("%c",*p);return0;}一个很简单的...
#include<stdio.h>
int main(){
char *p=NULL;
char a='b';
*p=a;
printf("%c ",*p);
return 0;
}
一个很简单的程序,最后无法运行,为什么呢? 展开
int main(){
char *p=NULL;
char a='b';
*p=a;
printf("%c ",*p);
return 0;
}
一个很简单的程序,最后无法运行,为什么呢? 展开
3个回答
展开全部
指针解引和指针赋值问题
让指针p指向a
应写为
p=&a
即取出a到地址,存入p
*p 为p指针所指地址的值
让指针p指向a
应写为
p=&a
即取出a到地址,存入p
*p 为p指针所指地址的值
更多追问追答
追问
如果我就是想让指针p所指地址的值和字符变量a一样呢?而不是让p指向a
追答
你是对指针不理解,p现在只是一个指针,必须指向一个地址
如果按你说的,需要先给p分配一个试剂的内存,然后等于复制a的值到p指向的内存地址
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p=&a而不是*p=a。
追问
如果我就是想让指针p所指地址的值和字符变量a一样呢?而不是让p指向a
追答
那你首先得让p指向一块有效的地址,例如用malloc分配一块。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询