jimmyjimmy.blog.chinaunix.net
jimylion
全部博文(99)
求职之路(0)
ARM(1)
笔记(0)
系统编程(5)
SHELL(0)
实验(2)
2012年(14)
2011年(17)
2010年(14)
2009年(54)
叶绍琛
shanggua
pzm0729
Dong石头
Bean_lee
小尾巴鱼
chaseey
LoverF
时间看来
pure1112
朱泽朋ze
ning_lia
liucxx
浪花小雨
格伯纳
ckf51372
CN薰様
NEAL_
分类: C/C++
2009-07-29 12:51:18
#include <stdio.h> #define CHAR2 char* int main() { typedef char* CHAR; CHAR a,b; CHAR2 c,d; printf("%d,%d,%d,%d\n",sizeof a,sizeof b,sizeof c,sizeof d); return 0; }
答案是:4,4,4,1
因为用define定义的别名只是简单的替换,如果是像上面那样的字符指针类型,用来声明变量,就相当于
char* c;
char d;
从颜色上也可以看出来,用typedef声明的新类型CHAR已经变为蓝色。
上一篇:昨天学的一个调用swap程序(C对应AT&T汇编)
下一篇:C语言*文件1*
jimylion2009-08-01 08:15:26
呵呵,老师讲过了,是我没写清楚,上面最后一句话:“从颜色上也可以看出来,用typedef声明的新类型CHAR已经变为蓝色。”
fera2009-07-31 22:02:19
你们老师没有讲的是,typedef定义的是一个新类型
登录 注册