在C 语言程序中,是通过对函数的调用来执行函数体,其过程与子程序调用相似。在调用函数时,大多数情况下主调函数和被调函数之间有数据传递。图5.2程序运行结果函数调用在程序中起一个表达式或者语句的作用。在调用函数时,有3 种不同的方式。这就要求该函数必须是有返回值的。getchar 函数调用作为表达式使用,即赋值表达式的右操作。......
2025-09-30
用指针变量可以指向一维数组,也可以指向多维数组。这里仅讨论二维数组的指针。
1.二维数组的地址
例如int array[n] [m];定义一个二维数组array,有n×m 个元素。
从二维数组的角度看,数组名array 代表整个二维数组的首地址,也是第0 行的首地址。array+1 代表第1 行的首地址。因此,array[0]代表第0 行中第0 列元素地址,即&array[0][0],array[1]代表第1 行第0 列元素的地址,即&array[1][0]。当然,并不存在array[i]这样的变量,它只是一种地址的计算方法,能得到第i 行的首地址。
显然,array[0]和(array+0)等价,array[1]和(array+1)等价,array[i]和(array+i)等价。所以,&array[i]和array+i 等价,都是指向二维数组的第i 行。array[i]和(array+i) 都是指向二维数组的第i 行第0 列。array[i]+j 指向二维数组array[i][j]。((array+i))就是数组元素array[i][0]的值。((array+i)+j)就是数组元素 array[i][j]的值。计算 array[i][j]在数组中的相对位置为“i×m+j”,(array[i]+j)就是数组array[i][j]的值。
2.二维数组指针
如果二维数组array[0]的指针为p,则(p+(im+j))指向数组元素array[i][j]。
【例6.8】使用指针变量输出二维数组任一行任一列元素的值。程序如下:(https://www.chuimin.cn)

程序运行结果如图6.12 所示。

图6.12 程序运行结果
说明:
(1)在主函数中定义了一个指针变量p,指向数组array 第0 行第0 列。
(2)p+(i4+j)是二维数组array 第i 行第j 列的地址。(p+(i4+j))就是二维数组array 元素array[i][j]的值。
相关文章
在C 语言程序中,是通过对函数的调用来执行函数体,其过程与子程序调用相似。在调用函数时,大多数情况下主调函数和被调函数之间有数据传递。图5.2程序运行结果函数调用在程序中起一个表达式或者语句的作用。在调用函数时,有3 种不同的方式。这就要求该函数必须是有返回值的。getchar 函数调用作为表达式使用,即赋值表达式的右操作。......
2025-09-30
在C 语言中,具有一定功能、相对独立的程序段称为函数。无论主函数main()位于程序中的什么位置,程序执行时总是从main()开始。C 语言程序的一般结构如图5.1 所示。它具有以下特点:图5.1C 程序中的函数C 语言允许一个程序由多个源文件组成,每个源文件可以独立编译,一个源文件可以被不同的程序使用。一个C 程序有且仅有一个主函数main,主函数可以放在任何一个源文件中,程序总是从主函数开始执行。......
2025-09-30
图4.18程序运行结果设有3 个学生的4 门课成绩,求每个学生4 门课程的总评成绩、3 个学生每门课程的平均成绩。图4.19程序运行结果挑战节目主持人。图4.20程序运行结果联合国排名是以国家名的英文字母排序,社会上也常以姓氏的汉语拼音字母排序。就这样,用字符数组min 依次与新输入的字符串比较,直到输入字符串为空时为止。图4.21程序运行结果......
2025-09-30
图4.9字符数组初始化状态③ 如果字符数组的元素个数与初值相同,可在定义时省略数组长度。图4.11程序运行结果4.字符串字符串:是用双引号括起来的字符序列,也称为字符串常量。图4.13存储状态用printf 函数以格式符%s 输出字符串时,首先按字符数组名找到数组起始地址,然后从起始地址开始逐个输出其中的字符,直到遇上字符串结束符‘\0’时为止。......
2025-09-30
在一个C 程序中,有且只能有一个名为main 的函数,该函数称为主函数。程序执行始终是始于主函数,结束于主函数。C 程序中的每个语句都是以分号(;)作为语句结束符的。......
2025-09-30
但是允许在一个函数的定义中出现对另一个函数的调用,即函数的嵌套调用。图5.9函数嵌套调用与子程序嵌套类似,是在执行主函数main()中调用函数a()的语句时,转去执行函数a();在函数a()中调用函数b()时,转去执行函数b();在函数b()执行完毕,返回函数a()的继续执行;函数a()执行完毕,返回主函数main()。函数嵌套调用举例。图5.11程序运行结果统计一批数据中大于平均值的数据总数。图5.12程序运行结果......
2025-09-30
程序中的每个“变量灯”的“功率”大小不一,因此它们的作用域就不相同了。这一点表明形参变量只有在函数内才是有效的,这种变量的有效范围称变量的作用域。变量说明的方式不同,其作用域也不同。在内部变量的作用域内,外部变量将被屏蔽而不起作用。外部变量说明的一般格式:外部变量的作用域是从定义位置到本源文件结束。......
2025-09-30
鉴于目前各种计算机系统的C 语言都一致把这类标识符作为固定的库函数或预编译处理中的专门命令使用,因此,为了避免误解,建议用户不要把这类预定义标识符另作他用。用户标识符的命名有以下命名规则,符合规则的命名是合法的,反之,命名是不合法的。......
2025-09-30
相关推荐