今天整理桌子发现了一叠纸,上面都是自己在学C语言的时候的一些不理解反复学习的知识点,但是有一部分找不到了,现在看看还是满满的回忆。刚刚读大学的时候,比较二逼,觉着上了大学就自由了,可以放松了,第一学期的C语言课,没有认真学习,只是为了应付考试最后考了80+分,所以到了大二感觉后悔的要死,往死里恶补,从图书馆里借来了好多本C语言的经典书,《C陷阱与缺陷》《C程序设计语言》《495个C语言问题》《C专家编程》《征服C指针》等等,虽然不敢说每本书的每一页都仔细看过,但是至少也有70%吧,所以贴到博客上来,也算是温故而知新,更是对自己那些献给C语言的日子的一些见证。OK,下面就是了。
1.
const int n = 5; //不能修改n的值,因为n为不可变的变量
const int *p = &n; int const *p = &n; //这两个语句等价,可以修改指针p的值,但是不能修改变量n的值。
int * const r = &n; //你能修改指针r的值,但是可以修改*r即变量n的值。
const int * const r = &n; //不能修改*r的值,也不能修改r的值。
2.
在声明函数的时候,const可以用来修饰形式参数(一般为指针)。
3.
union变量可以被初始化,但是这个初始值必须是union变量的第一个成员的类型,而且他必须位于一对花括号({})里。
例如:
union{int i; float f; double d;} x = {5};
4.
C语言声明的优先级规则:
A:声明从他的名字开始读取,然后按照优先级次序依次读取。
B:优先级从高到低依次是:
①.声明中被括号括起来的部分。