C语言中,指针变量里存储的是地址,请问怎样把一个已知的地址值赋给一个指针变量?
5个回答
展开全部
(1)首先你要看你已知的地址是什么类型变量的地址,然后你就定义一个基类型对应的指针变量,比如 int a,*p;
p=&a;
保证p与a为同一类型。
(2)由于malloc生成的地址为void类型,所以将malloc生成的地址要进行强制类型转换,转换成跟p相同的类型即可,比如 int *p; p=(int *)malloc(sizeof(int));
malloc生成的空间大小可以由你自己指定,如果你想把生成的地址空间存放整型量,就可以像我这样指定,同理如果你想存放单精度实型量的地址,就可以这样写:float *p; p=(float *)malloc(sizeof(float));
你看看会不会对你有所帮助!
p=&a;
保证p与a为同一类型。
(2)由于malloc生成的地址为void类型,所以将malloc生成的地址要进行强制类型转换,转换成跟p相同的类型即可,比如 int *p; p=(int *)malloc(sizeof(int));
malloc生成的空间大小可以由你自己指定,如果你想把生成的地址空间存放整型量,就可以像我这样指定,同理如果你想存放单精度实型量的地址,就可以这样写:float *p; p=(float *)malloc(sizeof(float));
你看看会不会对你有所帮助!
展开全部
(1)首先你要看你已知的地址是什么类型变量的地址,然后你就定义一个基类型对应的指针变量,比如 int a,*p;
p=&a;
保证p与a为同一类型。
(2)由于malloc生成的地址为void类型,所以将malloc生成的地址要进行强制类型转换,转换成跟p相同的类型即可,比如 int *p; p=(int *)malloc(sizeof(int));
malloc生成的空间大小可以由你自己指定,如果你想把生成的地址空间存放整型量,就可以像我这样指定,同理如果你想存放单精度实型量的地址,就可以这样写:float *p; p=(float *)malloc(sizeof(float));
p=&a;
保证p与a为同一类型。
(2)由于malloc生成的地址为void类型,所以将malloc生成的地址要进行强制类型转换,转换成跟p相同的类型即可,比如 int *p; p=(int *)malloc(sizeof(int));
malloc生成的空间大小可以由你自己指定,如果你想把生成的地址空间存放整型量,就可以像我这样指定,同理如果你想存放单精度实型量的地址,就可以这样写:float *p; p=(float *)malloc(sizeof(float));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接将返回值给P赋值就行
追问
例如:P=malloc(sizeof(int))就可以了吗?
追答
可以,但之前你肯定要声明P,而且最好将malloc函数强制转换一类型为指针型。
比如:int *p=PNULL;
p=(int *)malloc(sizeof(int));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char *pt=NULL;
pt=(char*)malloc(N*sizeof(变量类型));
pt=(char*)malloc(N*sizeof(变量类型));
追问
请问 pt=(char*)malloc(N*sizeof(变量类型)); 这一句中(char *)的作用是神马?我还只是个菜鸟,希望高手解答哦
追答
(char*)是类型强制转换,其实不转换,默认也是按字节分配
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询