先贴上这个笔试题吧:
0. typedef int * PINT;
1. int a[10];
2. const PINT pointer = a;
3. pointer++
第3行会出现编译错误,increment of read-only variable ‘pointer’
PINT为int*类型,该类型为一个整体。因此const PINT 同 PINT const的语义是完全一样的,都是PINT与const共同修饰变量,是该变量为用const来修饰int*指针变量。
切不可认为typedef和宏替换等同
最好说一下typedef的用处,主要是为了程序的移植。在不通的平台上Int型可能栈2个字节,也可能占4个字节,你把占2个字节的程序移植到占4个字节的平台上你需要用long型,如果你用typedef int INT; 则你只需要修改一行代码即可。懒人就这么做的......
阅读(1355) | 评论(0) | 转发(0) |