摘要:
const这块的难点 const修饰指针有以下的几种形式 ,不同的形式 它的意义不一样。 形式1: int a=23; const int *p=&a; a是int型,&a是int *型的,要把int *型的赋给 const int *型的。涉及到了点类型转换。 问 const int *p=&a; 阅读全文
摘要:
类型限定词有三个:const volatile restrict。 const:一般也叫常量修饰符。 作用:是修饰变量,被修饰的变量就变成常量了,不能被二次修改了。 const int a=12;a就成常量12了。就不能被再改了。 看看const都能修饰啥 const叫做类型限定词,是可以和前面说的 阅读全文
摘要:
存储类说明符共有5个:auto ,extern,static,register,typedef。 typedef本身和内存没有任何关系, 由于一些什么原因,归类到存储类说明符这块了。它就是类型重命名,给类型重新名个名字。 这5个就分了三种空间。 auto是栈区的空间,extern,static是静态 阅读全文
摘要:
寄存器变量,它的存储类说明符是register 定义方式:register int a;a就变成了寄存器变量了。 寄存器变量基本上是用不到的,可能在嵌入式开发,单片机,stm32 等等 用的比较多。在软件开发这块,基本用不到。 阅读全文
摘要:
static静态全局变量: 静态全局变量就是将全局变量变成静态的。如何变?——全局变量加个static。 static就是一个存储类说明符,a这个全局变量就成了一个静态全局变量了。 静态全局变量的特点: 1.生命周期是与程序共存亡。 2.作用域:只在它所在的文件内有效,别的文件用不了。 static 阅读全文
摘要:
存储类说明符extern。之前说过auto (auto int a;)extern的作用是:修饰变量/函数声明,表示是外部变量。 e本身就是一个全局变量,所以在全局变量这个位置,加不加extern 都是一样的。 extern的作用 一般是放在声明上, 加上extern就是单单的一个声明的作用,写不写 阅读全文
摘要:
上一节说的是,全局变量的定义,这个定义就写在一个源文件中,其他文件要使用这个全局变量的话,要进行一个声明。 阅读全文
摘要:
全局位置的注意点,就是在全局的位置是不能够写一些执行语句的,只能写一些全局变量的定义,并且初始化的话也只能用常量进行初始化。 int e=1;这就可以,所以在全局的这个位置,只能用常量进行初始化。 对于指针也一样,不要 int * p=(int *)malloc(4); 不可以,用一个变量都不可以, 阅读全文
![](/skins/gray/images/separator.gif)