| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1519 人关注过本帖
标题:关于char*
只看楼主 加入收藏
whw19840229
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2006-7-20
收藏
得分:0 

楼上各位 你们写的都 运行过吗 ? 好象写的都不对啊 !!!!!!!!!!11

2006-11-07 22:11
whw19840229
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2006-7-20
收藏
得分:0 
抱歉  抱歉 !!!!没看见还有第页   
2006-11-07 22:50
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
收藏
得分:0 

各位兄弟,不就是指针和数组的问题吗??
定义了一个指针后,编译器会随机指定一个值,也就是随机指向一个内存地址,如果这个地址内放着重要的数据,你往这个地址写数据,就会造成严重的问题,这个就是所谓的内存泄漏,所以一般定义一个指针后就会它指定一个地址
比如:
char s[30],*c;
c=s;
那为什么s[30],这个数组所在的地址不会是存放重要数据的地址呢,这个问题编译器会给你解决,编译器在执行到char s[30]时,保证给整个数组的内存地址是一个安全的地址,具体怎么实现的,你还是问问盖茨吧。
我们也可以使用函数malloc自己向操作系统申请一段内存,这段内存的有效期知道你调用free函数将它释放,如:
main()
{
char *c;
c = (char*)malloc(30*sizeof(char));
scanf("%s",c);
printf("%s",c);
free(c);
return 0;
}


如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2006-11-11 17:01
快速回复:关于char*
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023971 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved