1.数组做函数参数,会退化为指针。形参中的数组,编译器会把它当成指针处理。这是C语言的特色。
2.形参写在函数上,和写在函数内是一样的,只不过是具有对外的属性而已。
3.数据类型的本质:固定大小内存块的别名。
4.有b[ ] ,b代表数组元素的首地址,&b代表整个数组的地址。
5.变量的本质,是(一段连续)内存空间的别名(是一个门牌号)
6.临时变量栈区存放,全局变量存放在全局区。
7.堆区:一般由程序员分配释放(动态内存申请与释放),若程序员不释放,程序结束时可能由操作系统回收。
8.全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,该区域在程序结束后由操作系统释放。
9.栈区:由编译器自动分配释放,存放函数的参数值,局部变量的值等。
10.常量区:字符串常量和其他常量的存储位置,程序结束后由操作系统释放。
11.程序代码区:存放函数体的二进制代码,对于程序员来说是透明的。
12.栈的方向可能会因系统的不同,导致开口不同,但数组的开口一定是向上的。
13.指针是一种数据类型,是指它指向的内存空间的数据类型。