Chinaunix首页 | 论坛 | 博客
  • 博客访问: 185789
  • 博文数量: 54
  • 博客积分: 1831
  • 博客等级: 上尉
  • 技术积分: 625
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-12 12:50
文章分类

全部博文(54)

文章存档

2009年(11)

2008年(43)

分类:

2008-05-09 22:28:09

第三章
分析c语言的声明


的确,声明是很复杂,c语言毫无比要的被声明搞复杂了。
举例:
const int * grape;
int const *grape;
int * const grape;

三者的意思是什么?(p61)
还有就是位运算是什么东东?
关于联合,联合的缺点就是他的优点并不突出。
联合可以将同一个东东解释成两种完全不同的东东,而不是将两种不同的东西解释成同一种东东。
枚举缺省情况下是从0开始,遵循一个原则,紧随其后的始终大1。还有就是#define 定义的名字一般在编译的时候就会丢失,
但是枚举通常在调试器中可见,可以在调试代码的时候使用它们。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
优先级准则:(p65)
一:
       如果const 和volatile关键字的后面紧跟类型说明符(如 int,long等),那么它作用于类型说明符。在其他情况下,
const和(或)volatile作用于他左边紧邻的指针星号。
二:
      一开始,我们从左边向右寻找,直到找到第一个标识符,当声明中的某个符。。。。。(p65)
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
声明typedef是怎么形成的?
      typedef的格式与变量的声明是完全一样的,只是多了个关键字,向你提醒它的 实质。
宏和声明的区别:
      typedef int x[10] 和  #define x int [10]的区别?
                首先,可以用其他类型说明符对宏类型名进行扩展,但是对typedef所定义的类型名却不能够这样做。
                 其次,在连续的几个变量的声明中,用typedef定义能够保证声明中所有的变量均为同一种类型,但是宏却不能够保证。

举例:
        说出意思?
      char *(*c[10])(int **p);


阅读(847) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-05-11 18:28:17

如果const 和volatile关键字的后面紧跟类型说明符(如 int,long等),那么它作用于类型说明符。在其他情况下, const和(或)volatile作用于他左边紧邻的指针星号。