内容正文:
项目八 指针
1
C语言程序设计基础
知识目标
掌握指针变量的定义与使用
掌握通过指针变量来引用数组
掌握通过指针变量来引用字符串
掌握指针数组
了解函数指针与指针函数
了解动态内存分配与指向它的指针变量
技能目标
学会指针变量的定义与使用
学会通过指针变量来引用数组
学会通过指针变量来引用字符串
学会指针数组的定义与使用
思政目标
培养全局观,大局意识
培养沟通能力与协调能力
2
任务3
——通过指针引用字符串
3
1. 字符数组的初始化
2. 字符数组的输入输出
指针——基础篇
3.1字符数组与字符串
4
1. 通过字符指针逐个引用
指针——基础篇
3.2指针与字符串
5
【例8-8】使用字符指针变量表示和引用字符串。
【方法1】定义指针变量指向字符串,通过指针变量的移动来遍历字符串。
指针——基础篇
6
【程序代码】
指针——基础篇
7
【运行结果】
指针——基础篇
8
【方法2】定义指针变量指向字符串,将指针变量名作字符数组名处理。
指针——基础篇
9
【程序代码】
指针——基础篇
10
2.通过字符指针整体引用
指针——基础篇
11
【例8-9】对例8-8采取整体引用的方法。
【解题思路】使用%s格式输出字符串。
指针——基础篇
12
【程序代码】
指针——基础篇
13
【运行结果】
指针——基础篇
14
3. 字符指针作函数参数
如果想把一个字符串从一个函数“传递”到另一个函数,可以用地址传递的办法,即用字符数组名作参数,也可以用字符指针变量作参数。在被调用的函数中可以改变字符串的内容,在主调函数中可以引用改变后的字符串。
指针——基础篇
15
【例8-10】用函数调用实现字符串的复制。
【解题思路】定义一个copeString函数用来实现字符串复制的功能,在主函数中调用此函数,函数的形参和实参可以分别用字符数组名或字符指针变量。
【方法1】全部使用字符数组。
指针——基础篇
16
【程序代码】
指针——基础篇
17
【运行结果】
指针——基础篇
18
【方法2】全部使用字符指针变量。
指针——基础篇
19
【程序代码】
指针——基础篇
20
【方法3】定义的都是字符指针变量。
指针——基础篇
21
【程序代码】
指针——基础篇
22
【运行结果】
指针——基础篇
23
4.字符指针与字符数组区别
(1)存储内容不同:字符指针变量存储的是字符串的首地址,而字符数组存储的是字符串本身。
(2)赋值方式不同:对于字符指针变量可采用下面的赋值语句赋值: char *p;p="Beijing 2022!"; ,而对于字符数组,虽然可以在定义时初始化,但不能用赋值语句整体赋值,因为数组名是地址常量:char a[20];a="Beijing 2022!"; 是错误的。
(3)字符指针变量的值是可以改变的,而数组名是一个地址常量,是不可以改变的。
指针——基础篇
24
$$