您的位置:首页 > 其它

define 与 typedef 的用法及区别

2016-03-04 13:47 232 查看
在C语言中 define 为替换, typedef 为类型起个别名,他们之间有一些区别一定要注意。

#include<stdio.h>
#include<stdlib.h>

/* 注意二者的区别
define 先写别名 再写要被替换的类型或变量,后面没有分号
typedef 先写类型再写别名,后面有分号
*/
#define charp char *
typedef char* charpp;

void main()
{

charp x, y;
printf("%d %d \n", sizeof(x), sizeof(y)); //输出: 4 1
/*
上面代码等价于:
char *x;
char y;
或:char *x,y;
*/
charpp a, b;
/*
上面代码等价于:
char *a;
char *b;
或:char *a,*b;
*/
printf("%d %d \n", sizeof(a), sizeof(b)); //输出: 4 4

system("pause");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: