指向数组的指针
实例说明
本实例实现通过指向数组的指针引用数组、利用数组名及下标引用数组等。
实例解析
程序可预定义一个初始化的数组,然后用数组名和下标遍历数组。程序另定义一个指针变量,
让指针顺序指向数组的各元素,实现遍历数组;指针与游标变量结合,让指针指向数组中的某元
素,不改动指针,顺序改变游标变量也能遍历数组。
程序先输出提示说明信息,接着依次输出各个类型变量所占的字节数。
程序代码
#include <stdio.h>
// system("cls");/* 清屏 */
void clrscr(){
system("cls");/* 清屏 */
}
int a[ ]={1,2,3,4,5};
#define N sizeof a/sizeof a[0]
/* 主函数用于测试函数 trans() */
int main()
{
int j, /*游标变量*/
*p; /*指针变量*/
clrscr();
for(j=0;j<N;j++)/*用数组名和下标顺序访问数组元素*/
printf("a[%d]\t= %d\t",j,a[j]);
printf("\n");
for(p=a;p<a+N;p++)/*让指针顺序指向数组的各元素,遍历数组*/
printf("*p\t= %d\t",*p);
printf("\n");/*指针与游标变量结合,改变游标变量遍历数组*/
for(p=a,j=0;p+j<a+N;j++)
printf("*(p+%d)\t= %d\t",j,*(p+j));
printf("\n");/*指针与游标变量结合,用指针和下标遍历数组*/
for(p=a+N-1,j=N-1;j>=0;j--)
printf("p[-%d]\t= %d\t",j,p[-j]);
printf("\nPress any key to quit...\n");
getch();
return 0;
}