第三章
分析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) |