Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19269464
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: C/C++

2008-03-20 18:11:46

指针赋予了C编程最大的灵活性;使得C程序整齐而紧凑;在某些要求注重效率的场合有精彩的表现,这三个要素是C语言的精华。;aW'~^1qi)I

BSD爱好者乐园t0q/t `9i)W
    然而,精华并不意味着完美,
C语言在赋予程序员足够灵活性的同时,也给了程序员很多犯错误的机会。所以有必要关注指针、结构体和联合体的实现细节,从而保障程序的性。

2Dw\V6rzE


q4J!Z lWw+Xq O    在此.第一部分介绍《
MISRAC2004》中与指针相关的部分规则,第二部分讲解结构体和联合体的操作规范。下文中凡是未加特殊说明的都是强制(required)规则,个别推荐(advisory)规则加了“推荐”标示。BSD爱好者乐园p&Eu/J.M

BSD爱好者乐园7w+W[Xz

BSD爱好者乐园C\2? {5`A@N
指针的安全规范BSD爱好者乐园+d$AK%bn8T5C-|

    《MISRAC2004》关于指针的规范主要分为三个部分:指针的类型转换规则、指针运算的规则和指针的有效性规则。BSD爱好者乐园j%FU*{U+r.w


\jx.]"Hc|@9bk1.1
  指针的类型转换

1jt%CB"G6V8dlk

   指针类型转换是个高风险的操作,所以应该尽量避免进行这个操作。MISRAC对其中可能造成严重错误的情况作了严格的限定,选择其中两条作简要分析。

$x `*fM"@,r)^


RS;o+m%G ^&? gmJt(Z QO    规则
11.4(推荐):指向不同数据类型的指针之间不能相互转换。

/v&qA h"u3D

思考如下程序:BSD爱好者乐园U

阅读(483) | 评论(0) | 转发(0) |
0

上一篇:可重入函数

下一篇:C指针讲解

给主人留下些什么吧!~~