有多少人开发用C语言,你们又是怎么处理指针的

[复制链接]
4642|19
 楼主| ntao0227 发表于 2010-9-16 23:09 | 显示全部楼层 |阅读模式
如题!最近在恶补C语言的知识,看了很多C的资料,比如C深度解析,C缺陷与陷阱等。这些书上无一不对指针的使用,一再强调。

今天把自己以前写的一段C代码,拿出来自己看一下,发现很多指针的使用,正如书上说的,没有初始化,用过没有NULL。可是我动手改代码的时候发先编译器(keil ARM)没有NULL这个关键字,我只有自己定义一个宏 #define NULL 0x0 。

问问大家,你们在编程时会考虑这些问题吗?是怎么处理指针,防止出现“悬垂指针”的?

PS:我的那程序在测试的时候,长时间允许,概率出现乱码现象。
xwj 发表于 2010-9-16 23:27 | 显示全部楼层
初学的话不建议用太“深度”的,先从简单的学起、做起。
指针应用前先赋值(地址),则要形成基本的习惯。

至于Keil,野指针定义成0x00的话也是很容易出问题的(原因自己先去想)。
原野之狼 发表于 2010-9-17 00:15 | 显示全部楼层
摔的跤多了 也就会注意了
多看书 多思考 多实践 多总结
其实俺是说了一通废话的:lol
冷漠 发表于 2010-9-17 09:56 | 显示全部楼层

Keil 早就定义好了。

本帖最后由 冷漠 于 2010-9-17 10:04 编辑

谁说Keil 没有NULL定义???
************************************************
#ifndef   NULL
#define  NULL   ((void *) 0L)
#endif

**********************************************
举例:
#include<string.h>

main()
{
int * point_1=NULL;
……
}
zhuzheic 发表于 2010-9-17 13:10 | 显示全部楼层
有NULL定义的,指针是个好东西,但也经常会变成野指针。
lxm2009 发表于 2010-9-17 15:24 | 显示全部楼层
指针用好了 很强大
 楼主| ntao0227 发表于 2010-9-17 19:16 | 显示全部楼层
指针是C的精华所在,成也他,败也他。

谢谢4楼的提醒,我的文件没有添加stdio.h这个头文件,所以没有这个定义。刚把这个头文件加了,可以了。
liaozhihua 发表于 2010-9-20 14:55 | 显示全部楼层
搞那么复杂干嘛,编译器会初始化你定义过的指针的,别瞎琢磨,别乱给指针赋初值,容易出事
hwq362202 发表于 2010-9-20 15:18 | 显示全部楼层
:victory:
 楼主| ntao0227 发表于 2010-9-20 22:41 | 显示全部楼层
要用C编程序的话,还是要把这些弄好的,毕竟指针是一个很有用的工具。
bhsdlmj 发表于 2010-9-21 09:03 | 显示全部楼层
我刚学单片机时候 比较喜欢用指针   现在几乎不用了!

我觉得如果你写了个特别通用的函数,就是不用修改的函数 里面的东西可以用用指针

对于指针 我的观点是 没理解指针 就相当于没学过C语言。

写程序好不好  不是通过测试出来的 最好通过脑袋分析

指针 一般来讲 不越界就OK了!另外要多少了解点编译器的编译策略
 楼主| ntao0227 发表于 2010-9-22 08:37 | 显示全部楼层
很赞同楼上的说法,对于第四点,有不同看法,程序写的好不好,关键看规划,出现问题好改吗?改过问题会不会引起其他问题?这主要就是模块划分的问题了。
后学 发表于 2010-9-22 12:17 | 显示全部楼层
尽量慎重,多加断言的,
程序的可靠性不全是指针的问题,虽然指针也是其中重要的方面,
看看MISRA C吧,会有所启发,
yangdejin8 发表于 2011-8-7 21:17 | 显示全部楼层
:handshake
DownCloud 发表于 2011-8-7 23:22 | 显示全部楼层
貌似指针要定义它的存储类型?...:(
weibestww 发表于 2011-9-2 21:55 | 显示全部楼层
c语言不会指针,就像买了辆好车,却还用驴拉一样。
zhang-chunshou 发表于 2011-9-2 22:27 | 显示全部楼层
ahgao 发表于 2011-9-3 09:45 | 显示全部楼层
不用指针能写C程序吗?
xieshenkui 发表于 2011-9-3 12:46 | 显示全部楼层
我写程序从来就不用指针,因为我不会用它,不知道为什么就是不会用!
liang7143 发表于 2011-9-3 13:16 | 显示全部楼层
:)能不用就不用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:QQ:1530154344

12

主题

124

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部