地址传递与值传递
对于任何数据类型,如果想在某个函数内修改外部变量,这个函数必须接受到这个外部变量的地址
- 如果 实参是 变量的名字 或者 某个具体的值 ,称之为 值传递
- 如果想要在某个函数中改变其他函数的变量的值,需要进行地址传递
数组与指针转换的实际应用(传参)
- 传参时,传递的变量arr表示的时数组首元素的地址
- arr只有三种情况表示数组本身
- sizeof
- &arr
- 声明
- C语言无法通过传参传递数组
- C语言中函数的形参,根本不存在数组类型
- 要接受数组只能设置为数组首元素地址类型(指针)
main函数传参---命令行传递参数
int main(int argc,char*argv[]
- 参数:
- argc---从命令行中传递进来的字符串的个数
- argv---从命令行中传递的字符串数据存储在该指针所指向的数组中
- 可以使用atoi()将argv中接受到的字符串转换为整型,并返回
函数指针与函数指针数组
- 函数指针
- 用来存储函数地址的变量
- 定义
- 指向的函数返回值类型 (*函数指针变量名) (指向的函数的形参列表);
- int (*p)(int num) = is_prime;
- 其中 is_prime是一个函数
回调函数
- 一个被作为参数传入另一个函数的函数
Comments NOTHING