//指针引用数组元素并打印输出 #include <stdio.h> void main(){ int a[5]={1,2,3,4,5}; int i,*aPtr = a; for(i=0;i<5;i++) printf("a[%d]=%d\n",i,a[i]); //数组下标输出 for(i=0;i<5;i++) printf("*(a+%d)=%d\n",i,*(a+i)); //通过数组名引用元素 for(i=0;i<5;i++) printf("aPtr[%d]=%d\n",i,aPtr[i]); //通过指针变量下标引用元素 for(aPtr=a,i=0;aPtr<a+5;aPtr++,i++) printf("*(aPtr+%d)=%d\n",i,*aPtr); //通过指针变量偏移引用元素 }
函数指针:
#include <stdio.h> int sum(int ,int ); void main(){ int a,b; int (*fun)(int ,int); //声明一个指向函数的指针变量 printf("请输入两个数:"); scanf("%d%d",&a,&b); printf("第一种调用函数的方法:通过函数名调用函数:"); printf("%d+%d=%d\n",a,b,sum(a,b)); printf("第二种调用函数的方法:函数指针调用求和函数:"); fun = sum; //函数指针指向求和函数 printf("%d+%d=%d",a,b,(*fun)(a,b)); } int sum(int m,int n){ return m+n; }