C语言的字符指针必须分配空间或者指向某个地址否则不能使用

yzr8963818  |  分类:C/C++  |  浏览1134次
C语言的:
char  *p=null;
char *str="abc";
for(int i=0;i<3;++i)
{
p[i]=str[i];
}

为什么不能这样p[i]=str[i]赋值呢?
2012-05-13 23:46 提问者采纳
p是空指针,一个没有指向的指针(没有分配空间)如何可以赋值呢?
 
   
 
   
 
   
 
   
 
   
 
   
    
    

字符指针必须初始化

  (2011-03-15 20:58:20)
标签: 

it

 

char *str;

scanf("%s", str) ;       //错误

 

char str[10];

scanf("%s", str) ;      //编译通过

因为字符指针可能指向其他程序占用的内存空间。

或则这样写 char *str = malloc(10) ;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值