专题十二 指针(讲义)-职教高考电子与信息《C语言程序设计》专题复习讲练测

2023-10-30
| 20页
| 293人阅读
| 4人下载
精品

内容正文:

12.指针(讲义)-《C语言程序设计》专题复习讲练测 [考纲要求] (1)了解指针变量的定义及引用 (2)理解指向数组的指针变量。 [课时安排] 4课时 [知识梳理] 1. 指针变量的定义及引用 (1) 指针变量的定义 指针变量的定义格式为: 存储类型 类型标识符 *指针变量名 其中,指针变量名前加了“*”号表示该变量是指针变量,而“类型标识符”表示该指针变量所指向的变量的类型。指针存储类型是指该变量的存储属性。与普通变量一样,不同存储类型的指针使用不同的存储区。一个指针变量只能指向同一种类型的变量,也就是说,不能定义一个指针变量,它既能指向一整型变量又能指向双精度变量。 例如: char*pc1,*pc2; int*pa,*pb; float*px,*py; 表示定义了6个指针变量pc1、pc2、pa、pb、px、py。pc1可以指向一个字符型变量,pa可以指向一个整型变量,px可以指向一个实型变量,换句话说,pc1、pa、px可以分别存放字符型变量的地址、整型变量的地址、实型变量的地址,定义形式如下: (2) 指针运算符 &运算符:取地址运算符,&a的值为a的地址。 *运算符:指针运算符或指向运算符,也称间接运算符,*pa代表pa所指向的变量。 (3) 指针变量的引用 定义了一个指针变量之后可以对该指针变量进行各种操作,例如给一个指针变量赋予一个地址值。输出一个指针变量的值。访问指针变量所指向的变量等。常用的指针变量的使用方法如下: 注:在指针引用前要对它进行初始化,只有给指针赋初值后才可引用指针。 (4) 指针初始化 对于静态存储指针变量,其自动初始化为NULL,即0,该指针不指向任何有效数据单元,有时也称指针为空指针,如: 其中pa、pb初始化为NULL。 对于动态存储指针变量,可以对其赋值,也可以在定义指针变量时初始化,就像普通变量定义时初始化一样,还可以用new操作符分配动态内存,如: 2.指向数组的指针变量 指针变量也可以指向数组元素的内存地址,可以利用指针来访问数组的元素。当声明一个数组变量后,C编译器会为该数组分配连续的存储空间,用于存储数组内的元素,每个元素占用的空间为该元素所属数据类型的空间大小。 一个指针变量可以指向一个数组,也可以指向一个数组元素。将一个数组的地址赋值给指针变量可以写为: p = a; 该语句将数组a的首地址赋值给指针变量p。当把一个数组元素的首地址,一般是数组第一个元素的地址赋值给指针变量时,该指针变量是指向了数组第1个元素的内存地址,然后应用指针的加减运算就可以访问数组的全部元素。 上图描述了指针与数组元素内存地址的关系。array为具有三个短整型元素的数组,p为短整型的指针,p=array将数组array首地址赋值给p,此时指针变量p指向数组array的第1个元素,p+1指向第2个元素,p+2指向第3个元素。 一个指针变量既可以指向一个数组,也可以指向一个数组元素。如果要使指针指向数组的第一个元素,可以把数组名或第一个数组元素的地址赋值给该指针变量。如果需要该指针指向第i个元素的地址,可以把第i个元素的内存地址或数组名加i赋值给该指针。 int data[]={11,21,23}; int *p; // 数组data第2个元素地址赋值给p p = data+1; // 或者 p = &data[1]; 上面的代码将data数组的第2个元素的内存地址赋值给指针变量p。当指针变量p指向了数组元素或数组首地址后,就可以通过指针变量的自增或自减来访问数组的各个元素。 [真题练讲] 一、程序分析 1.(2014年苏南五市单招)阅读下列程序,并把运行结果填写在___________答题处。 #include <stdio.h> #include <conio.h> #define N 80 fun(char s[]) { int i,j; for(i=0,j=0;s[i]!='0';i++) if(s[i]>'z'||s[i]<'a' && s[i]>'Z'||s[i]<'A') { s[j]=s[i]; j++; } s[j]='\0'; return(j); } main() { char str[N]="ab123$df4"; int s; puts(str); s=fun(str) ; puts(str); printf("There are %d char in the new string.",s); } 答案:There are 4 characters in the new string 解析:在main函数中,声明了一个字符数组str,并初始化为"ab123$df4"。使用puts(str)打印出初始字符串"ab123$df4"。调用函

资源预览图

专题十二 指针(讲义)-职教高考电子与信息《C语言程序设计》专题复习讲练测
1
专题十二 指针(讲义)-职教高考电子与信息《C语言程序设计》专题复习讲练测
2
专题十二 指针(讲义)-职教高考电子与信息《C语言程序设计》专题复习讲练测
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。