在C语言中,二维数组是由一维数组作元素的一维数组。当需要用指针指向二维数组时,可以采用一级指针变量和二级指针变量两种处理形式。表8.3指向若干元素构成的一维数组指针变量表示二维数组元素使用指向由若干个元素组成的一维数组的指针处理二维数组。......
2023-11-20
定义合适的指针变量后,例如int a[10],*p;,则可以使用指针变量p指向数组a中的任何一个数组元素。通过下列写法可以使p指向a[0]。
p=&a[0];
其结果可以用图8.2的方式表示。
图8.2 指针指向数组第一个元素
当需要表示指针变量所指向的数组元素值时,使用指针运算符(*)。例如,有p=&a[i]时,则*p等价于a[i],此时如果要向数组i号元素赋值,可以使用下面两种形式:
*p=<表达式> 或者 a[i]=<表达式>
现在可以通过p访问a[0]。例如,可以通过下列写法把值5存入a[0]中:
*p=5;
图8.3显示的是现在的情况。
图8.3 用指针修改数组元素的值
【例8.6】 使用指针变量表示数组元素示例。(www.chuimin.cn)
上面程序中,表达式p=&a[2]使得指针变量p指向数组元素a[2],表达式*p=100表示将指针变量p所指向的数据对象赋值为100,即a[2]被赋值为100,所以程序的输出结果中,除数组元素a[2]的值为100外,其余的数组元素值都为0。另外,在输出数组值的操作中,首先让指针变量p指向数组0号元素,然后通过循环控制中的p++运算,使得指针变量p依次指向a数组的其他元素,通过*p的方式表达数组元素值。程序执行的结果为:
0 0 100 0 0
如果有两个指针变量分别指向同一个数组的两个不同元素,则两个指针变量之间的距离表示了它们之间的差距有多少个数组元素。例如,下面C语句序列执行后输出的结果为:“两个指针之间的数据元素个数为:5”。
int a[100],*p1,*p2;
p1=&a[5];
p2=&a[10];
printf("两个指针之间的数据元素个数为:%d\n",p2-p1);
有关C语言程序设计基础(第3版)的文章
在C语言中,二维数组是由一维数组作元素的一维数组。当需要用指针指向二维数组时,可以采用一级指针变量和二级指针变量两种处理形式。表8.3指向若干元素构成的一维数组指针变量表示二维数组元素使用指向由若干个元素组成的一维数组的指针处理二维数组。......
2023-11-20
对一维数组的引用,既可以用传统的数组元素的下标法,也可使用指针的表示方法。例7.11输入10个数,采用指针变量表示的地址法输入输出数组各元素。由于数组元素在内存是连续存放的,若给指向整型变量的指针传递数组的首地址,则该指针指向二维数组。#include<stdio.h>例7.16用指针法输入输出二维数组各元素。......
2023-11-18
图8.1函数内存映射方式1.指向函数指针变量的定义C语言中可以定义指针变量来存储函数的首地址,并利用该指针变量对函数进行调用。指向函数的指针变量的真正作用是作为函数参数使用,使程序在功能的实现上具有更大的灵活性。指向函数的指针变量求最大值、最小值和两数之和。......
2023-11-20
当指针变量指向一维数组的首元素时,称为指向了一维数组。所以,函数中一维数组形式参数可以用同类的指针形式参数替代;同理也可以用指向特定数组的指针变量来传递数组类实际参数。特别需要注意的是,函数的形式参数无论使用的是数组名形式还是指针变量形式,本质上都是一个指针变量,在被调函数中既可以将它当作数组名使用也可以将它当作指针变量使用。......
2023-11-20
所以,程序中可以用数据类型相同的一级指针变量来指向任意维数数组的元素。定义二维数组和合适的指针变量后,则可以使用指针变量指向数组中的任何一个元素。如果一个指针变量已经指向了一个数组元素,对指针变量进行指针运算就表示被它指向的那个数组元素。随机产生4行5列二维数组的元素值,找出其中的最小值。要求在查找过程中使用指针变量遍历二维数组。......
2023-11-20
取内容运算符*,又称间接引用运算符,结合性自右而左,用来表示指针变量所指的变量。指针变量定义时,“*”仅表示其后的变量是指针类型变量。图6.5指针的算术操作若设指针变量p 的值为2000,对于整型数据,其长度是2 个字节。然后,通过指针变量升序输出。图6.7指针变量p1 和p2 交换前后的指针方向......
2023-10-21
,常数n};例如:int a1[5]={1,2,3,4,5};一维数组的初始化可以用以下方法实现:①数组初始化时,给出全部数组元素的初始值。②输出数组元素值。......
2023-11-20
图5.3指针变量指针变量本身也是变量,所以指针变量在使用之前也需要定义。为指针变量赋值的方法有两种:一种是定义后,使用赋值语句的方式;另外一种是定义的同时进行初始化方式。......
2023-11-20
相关推荐