1、指针与数据关系:
1、指针与变量
2、指针与数组(一维,二维)
3、指针与结构体变量
4、二级和多级指针
一级指针变量:专门用于存放普通变量的地址
eg:int b=200; int*a=&b
二级指针变量:专门用于存一级指针变量的地址
二级定义变量:专门用于存一级指针变量的地址
二级定义变量:类型**变量名
5、指针与函数的关系:
C语言:面向过程(模块(函数):功能)
函数分类:自定义函数,系统函数
系统函数,由系统提供的模块接口(API)
printf(实参)..
1、调用函数:函数名(实参列表)
注:调用函数一定要函数名匹配
2、自定义函数:f(x,y)=3x+y;
函数类型 函数名(形参列表)
{
函数体;//功能模块的过程描述
}
1、无返回值 无形参
void 函数名(void)
{
}
2、有形参 无返回值
void 函数名(形参列表)
{
}
1、一级指针做形参:当在被调用函数内需要修改调用函数被的数据传递地址
2.传递数组:
返回值 函数名(char buf【】),//buf是指针变量
3、结构体作形参:(实参传递形参:值传递)
缺点:不能修改调用函数内的结构体内容
(通过名字或地址)
结构体指针作形参:修改指定内容
3、变量作用域:生命周期;
1、变量作用域:能被引用的区间
全局:在函数外定义的变量
作用域:从定义开始,到本文件结束
局部,在函数内定义的变量
作用域:在函数内
2、变量的生命周期:
动态区:auto变量(只能在函数内定义)
当函数被调用时,空间被申请,当函数运算结束时,空间被释放
静态区:static变量或全局变量
堆区:alloc/malloc等申请 free释放
栈:是一种算法思想(先进后出 FILO)
应用:撤销,浏览上一页,恢复
算法,#口
栈顶:能被操作的一端(能进栈/出栈)
栈底:不能被操作的一端(不能进栈/出栈)
操作,每次操作“只能”取/进一个数据
顺序(数组)栈:数据的容器是一个块数组