9.26-9.30

  1. 一维数组:数组名是数组的起始地址,也是第一个元素地址。&a[0]表示数组的起始地址,a[1]的地址用a+1或&a[1]来表示;&a+1则为偏移到下一个数组。
  2. 二维数组:数组名是数组的起始地址,也是第一个元素的地址。&a[0]表示第一行的起始地址,第二行的起始地址用a+1或者&a[1]或&a[0]+1表示,与一维数组表示方法相同。每一行的第二个元素地址用a[i]+1或者&a[i][1]表示。
  3. 指针由数据类型+变量名构成。定义变量的*为标识,其他地方的*为指向的内存空间。变量名若与内存空间保存内容类型不一致,则会发生截断或者乱码现象。
  4. 注意避免没有任何指向的野指针。
  5. 指针操作一维数组:第一,通过指针自增,*p++;第二,通过指针加一个常数,*(p+i);第三,通过指针与下标组合,p[i]。
  6. 一维数组指针(p=&a;):p表示数组起始地址;p+1表示偏移一个数组;*p表示数组首地址;*p+i表示数组每个元素的首地址;*(*p+i)表示元素的值。
  7. 二维数组指针((*p)[j]=&a[0];):p表示第一行起始地址;p+i表示每一行起始地址;*(p+i)每一行第一个元素的起始地址;*(p+1)+j每一行每个元素的起始地址;
  8. Int *p[10]表示为指针数组,存放一组地址
  9. 二级指针变量:int* *p,用来存放地址的地址。
  10. 函数定义:返回数据类型 函数名(参数列表)
  11. 函数引用:1.声明函数2.函数体里引用函数3.定义函数主体
  12. 数组作为调用参数:数据类型 函数名(数据类型 数组名【】,数据类型 元素个数)
  13. gdb调试指令1.gcc a.c -g  2.gdb ./a.out 3.l(查看源码)4.b(打断点)5.r(运行)6.s(进入调用函数内部)7.p(打印当前数值)8.n(查看下一条语句)9.q(退出)
  14. 多文件编程:.h文件存放函数声明 不同的.c文件分别放主函数和调用函数,编译文件指令:gcc 文件名.c 文件名.c
  15. 函数指针:本质还是指针。形式为:返回值类型 (*函数名)(参数列表)。可调用其他函数
  16. 全局变量:可应用在所有的.c文件中,缺点就是容易发生冲突。生存期为程序开始到结束,作用域为所有.c文件。局部变量:只在大括号局部起作用,出结构体,立即释放内存。由于权限问题,可同名。生存期为调用到此次调用结束,作用域为局部。静态局部变量:static 变量名;需要提前声明。生存期为程序开始到结束,作用域为局部。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值