chenglong7997

chapter 3(声明)

知识点:

1.int 变量跟只包含一个int 成员的结构变量,在传递参数的方式可能完全不同。一个 int参数一般会传递到寄存器中,而结构参数很可能被传递到堆栈中。

2.在结构中放置数组,可以讲数组当做第一等级类型,用赋值语句拷贝整个数组。
struct s_tag {int a[100];};
struct s_tag orange, lime;

int main()
{
    int i;
    for(i=0; i<100; i++) lime.a[i]=1;
    orange=lime; //对整个结构赋值
}

3.union
为了节省空间
为了把一个数据解释为两种不同的东西。

4.enum
#define定义的名字一般在编译时期被丢弃,而枚举名字则通常一直在调试器中可见。可以再调试代码的时候看见他们。

5.typedef int x[10] 与 #define x int[10]区别
可以用其他类型说明符对宏类型名进行扩展,但是不能对type的饭定义的类型名,进行扩展
#define peach int
unsigned peach i;//right

typedef int banana;
unsigned banana i;//error

在连续几个变量声明中,用typedef定义的类型能够保证声明中所有变量均为同一种类型,但是#define定义的类型不能保证。

#define int_ptr int*;
int_ptr chalk, cheese;
结果:int * chalk, cheese;(他们两个类型不同)

#typedef char* char_ptr
char_ptr ben, rool(两个都是指向char的指针)


6. 不要为了方便对结构使用typedef,虽然可以省去struct但是省去了提示信息。
用在数组,结构,指针,以及函数的组合类型。结构标签可以添加“_tag”结尾。

posted on 2012-06-21 05:39 Snape 阅读(278) 评论(0)  编辑 收藏 引用 所属分类: Expert_C_programming


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2012年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

统计

常用链接

留言簿

随笔分类

随笔档案

文章分类

文章档案

my

搜索

最新评论

阅读排行榜

评论排行榜