指针03 - 零基础入门学习C语言43
第八章:指针03
让编程改变世界
Change the world by program
源码分析
输出数组中的全部元素
假设有一个a数组,整型,有10个元素。要输出各元素的值有三种方法: (1) 下标法 (2) 通过数组名计算数组元素地址,找出元素的值。 (3) 用指针变量指向数组元素。 大家给分析分析,翻炒翻炒~ [codesyntax lang="c"]#include <stdio.h>
void main()
{
int *p, i, a[10];
p = a;
for( i=0; i < 10; i++ )
{
scanf("%d", p++);
}
printf("n");
for( i=0; i < 10; i++, p++ )
{
printf("%d", *p);
}
}
[/codesyntax]
用数组名作函数参数
在第8章中介绍过可以用数组名作函数的参数 如: [codesyntax lang="c"]void f(int arr[], int n)
{
……… ………
}
void main()
{
int array[10];
…… ……
f(array, 10);
}
[/codesyntax]
void f(int arr[], int n) 但在编译时是将arr按指针变量处理的,相当于将函数f的首部写成 f(int *arr, int n)
以上两种写法是等价的。
需要说明的是:C语言调用函数时虚实结合的方法都是采用“值传递”方式,当用变量名作为函数参数时传递的是变量的值,当用数组名作为函数参
数时,由于数组名代表的是数组首元素地址,因此传递的值是地址,所以要求形参为指针变量。
实战演练
将数组a中n个整数按相反顺序存放
[caption id="attachment_152" align="aligncenter" width="300"]
将数组a中n个整数按相反顺序存放[/caption]

浙公网安备 33010602011771号