1、C语言程序可以分成三层
程序——数个.c文件(以及辅助的.h文件)——函数
函数外面定义int —— static int———————int f(int)(函数里面定义的量)
static int a,则a可以被本文件访问,但是无法被本工程的其他文件访问;
对于变量作用域可以看下这片文章
这片文章总结下:1、静态变量的意思是,函数执行结束后,内存保留不释放;2、在函数中,形参如果和静态函数重名,则优先考虑形参;
2、C语言的内存使用情况
C在使用的时候内存使用分为四个区:
堆、栈、数据区、代码区;
代码区用于存放代码;
数据区用于存放函数外定义的变量和函数内外定义的静态变量;
堆:malloc申请得到的空间
栈:用于存放暂时产生的变量6+
3、指针和数组的区别
如果有如下的代码
int a[3];
int *p;
p = (int*)malloc(3*sizeof(int));
a[3] = 25;
p[3] = 25;
注意:
&a 和 a 是相同的意思,都是指的数组的首地址;
4、引用的意思
int a = 3;
int b = 4;
void swap(int &x,int &y)
{
int temp = x;
x = y;
y = temp;
cout<<a<<b<<endl;
}
int main()
{
swap(a,b);
}
输出为 4,3;
这说明引用的意思是:调用函数时不只是传递值,而是把那个数连通地址真的传递到函数中1去;
其实,引用还可以起到起小名的作用
int country;
int &king = country;
这两行的意思是“朕即国家!”哈哈哈哈哈哈哈哈,任何对king的访问就是对country的访问;