C语言基础笔记(9)

笔记整理自哈尔滨工业大学的MOOC课程:C语言程序设计精髓 

第九章  指针和数组 

指针的算术运算

 int *p=a;等价于int *p=&a[0];

指针加上一个整数

 

  例如:p的基类型为整型,每个整型占据四个字节,即加上4*j个字节

指针减去一个整数

 

指针相减

 

指针的关系比较运算

 

小结

 

一维数组元素的引用

 

指向数组的指针

一维数组元素的访问

 

*(p++)是把指针的地址+1
(*p)++是把指针指向的数值+1

指针和一维数组做函数参数

 

 

 

小结

 

换个角度看二维数组

 

 a[ i ][ j ]等价于*(*(a+i)+j)

指向二维数组的行指针

 

逐行查找—>逐列查找

再换一个角度看二维数组

 

按列指针访问二维数组元素

 

二维数组作函数参数

 

指向二维数组的指针作函数参数

 

指向二维数组的指针作函数参数

 

用const保护你传给函数的数据

 

小结

 

          但是空白字符的存在,会浪费空间

           解决办法:

  

char *country[] = {"America", "England", "Australia", "China", "Finland"};

这条语句定义了一个字符指针数组country,并用初始化列表中的每个字符串的首地址为字符指针数组country的元素进行初始化,并不是将初始化列表中的字符串保存到字符指针数组中。

指针数组与指向数组的指针

 

命令行参数

 

演示命令行参数与main函数形参之间的关系

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值