2022123学习笔记

2022123学习笔记,第1张

2022/1/23学习笔记

逗号表达式是按序执行,值是最后一个表达式
顺序点:变量值发生变化的位置
表达式的值决定表达式类型,优先级最低的运算类型(最后运算)是表达式的类型
函数参数求值顺序:从右往左
i++ 读取时就自增,++i语句先记录 等完成统一执行
可变参数列表:定义一个va_list类型变量对ap初始化,ap指向可变参数的第一个参数,获取参数,调用va_arg
递归调用不是重新复制,每次调用时新局部变量在内存中重新分配内存
&a代表 指向二维数组指针
a 代表 二维数组名,指向一维数组a[0],(第一行首地址)
a[0] , *(a+0) , *a 都代表 第1行第1列元素地址
a+1 , &a[1] 代表 第二行的首地址
a[1] , *(a+1) 代表 第二行第一列的元素地址(行指针变成了列指针)
a[1]+2 , *(a+1)+2 , &a[1][2] 代表 第二行 第三列的元素地址
*(a[1]+2) , ((a+1)+2) , a[1][2] 代表 第二行 第三列的内容(元素的值)
想取元素内容:要有两个方括号,或者一个方括号一个*号,或者两个*号
指向数组的指针是行指针 ++ (移动一行)  指针是列指针 ++是移动一列 (移动一个元素)
[]有两个作用 一个是将数组元素 偏移方括号个位置
第二个是取这个位置的元素内容
指向函数的指针 int (*p)(int x,int y);
将函数名max赋给指针p:p = max;
调用函数有三种方法:max(a,b)         p(a,b)        (*p)(a,b)  (这个在数组里面不能用 因为数组里面就是取内容了)
指针函数 返回指针
局部变量地址不能返回

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5713461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存