Chinaunix首页 | 论坛 | 博客
  • 博客访问: 258209
  • 博文数量: 52
  • 博客积分: 406
  • 博客等级: 一等列兵
  • 技术积分: 549
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-21 12:34
个人简介

......

文章分类

全部博文(52)

文章存档

2014年(1)

2013年(32)

2012年(19)

我的朋友

分类: LINUX

2013-09-28 15:54:17

先贴上这个笔试题吧:
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; 则你只需要修改一行代码即可。懒人就这么做的......
阅读(1300) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~