首页 > 编程语言 > 详细

程序猿之---C语言细节21(#define和typedef区别、结构体细节)

时间:2014-11-12 17:55:45      阅读:308      评论:0      收藏:0      [点我收藏+]

主要内容:#define和typedef区别、结构体细节

#include <stdio.h> 

#define INT_D int*
#define CHAR_D char 
int main()
{
	/*#define 与 typedef区别*/
	typedef int* INT_T;
	typedef char CHAR_T;
	 	
 	INT_T a,b;   // a、b都为int型指针 
 	INT_D c,d;   // c为int型指针、d为int整型 
 	
 	unsigned CHAR_D e;   // #define的类型定义可以类型扩展 
//	unsigned  CHAR_T f;  // 这句是错误的,typedef重定义类型不能加类型扩展 
 	
 	/* 结构体细节 */ 
 	//测试1 
 	struct foo{
	 	int foo;
	 } foo;  // 最后面的foo是结构体foo声明的一个变量 
//	 foo test;  // 直接这么定义一个结构体是错误的 
	 foo.foo= 1; // 结构体名可以和内部变量名一样 
	 printf("foo = %d\n",foo.foo);
	 
	 //测试2 
    typedef struct fun{
    	int fun;
    }fun;
	fun fn;    // 这时可以定义

/*
	小结:
	1、不要为了方便起见对结构体使用typedef,这样唯一好处就是你不用写struct,但是这个关键字
	可以向你提示一些信息,不应该省掉 
	2、typedef用在数组、结构、指针以及函数的组合类型;可移植类型,当你需要一种至少20比特的类型时,可以进行
	typedef操作,这样代码移植到不通平台,要选择正确类型如short、int、long时,只需要对typedef进行修改,而不用对
	每个类型修改 
	 
*/	
	return 0;
}

输出:

bubuko.com,布布扣

程序猿之---C语言细节21(#define和typedef区别、结构体细节)

原文:http://blog.csdn.net/human_evolution/article/details/41045433

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!