给字符型指针赋值 char *p1 = NULL; P1 =100

C语言 码拜 5年前 (2016-04-25) 636次浏览
char *p1 = NULL;
P1 =100;
这样写行么?
解决方案

20

引用:
Quote: 引用:

不行,类型不匹配的。
同时注意在这里也不能用strcpy,原因是p1指针指向NULL,不能向该地址进行写操作

传智播客C视频上,是这样写的
char *p1 = NULL ;
char **p2 =NULL ;
P2 = &P1 ;
*P2 = 100 ;

很明显*p2 = 100是错的。你这么看 (char*) p1: p1是char*的,代表p1是个地址,该地址指向1个char型变量
(char**)p2:p2是char**型的,代表p2是个地址,该地址指向一个地址(该地址的值是个指向char型变量地址)
所以最后应该是*p1 = 100;


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明给字符型指针赋值 char *p1 = NULL; P1 =100
喜欢 (0)
[1034331897@qq.com]
分享 (0)