C语言提高 (3) 第三天 二级指针的三种模型 栈上指针数组、栈上二维数组、堆上开辟空间...

1 作业讲解

 

  1. 指针间接操作的三个必要条件

 

  1. 两个变量 其中一个是指针
  2. 建立关联:用一个指针指向另一个地址
  3. *

 

  1. 简述sizeof和strlen的区别

strlen求字符串长度,字符数组到’\0’就结束

sizeof是看数据类型占用大小(字节

 

 

  1. 何为野指针

声明指针变量后,内部数是随机的,为了避免野指针,初始化的时候要设为NULL

使用完之后,依然要设为NULL

 

 

2  昨日回顾

3 字符串易犯错误模型

判断一个指针是否合法应该看这个指针的值是不是NULL 而不是看*的内容

 

(错,最后a的位置已经变了,

 

4 c语言中的const

 

const int b; //具有了只读的属性

int*a = &b; *a = 30; // 变了

 

const char* c ‘指针指向的值不能改’

 

char*const d; 指针不能改

 

5 字符串练习

 

二级指针第一种输入模型:

 

栈上的指针数组:

 

(指针数组,数组内部存的是字符串常量区的数据

 

 

 

 

 

6 字符串解析key-value练习

 

二级指针第二种输入类型:

栈上的数组指针:

(注意,不能用char ** array 作为形参,因为 char **array的步进是4

 

 

 

 

7 中午回顾

 

二级指针第三种模型:

 

堆上开辟空间:

 

 

 

 

 

 

 

8 二级指针作为传入参数1

9 二级指针作为传入参数2

10 二级指针作为传入参数3

11 多级指针作为函数参数

12 二级指针的内存四区图

 

指针数组:

 

二维数组:

 

 

手工二维内存:

 

13 替换子字符串练习

 

思路:定义两个指针

一个指针先走,遇到要替换的停下来,把之前这段复制到dst中,然后指针加要被替换的字段的长度。接下来,重新走这个流程,直到最终指针指向’\0’

 

 

 

 

 

转载于:https://www.cnblogs.com/eret9616/p/10368540.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值