*用在变量定义语句中,表示当前定义的指针变量。指针运算符。
&在运算语句中,表示简接访问指针指向的值。取地址运算符。{其两者是互逆}
在定义指针变量和给指针赋值时,需要注意以下几点:
1、指向相同类型的指针变量之间可以相互赋值。
2、若指针变量使用之前,不确定其指向,为了防止系统随机赋值,可将指针变量赋值为NULL。(NULL是在stdio.h头文件中定义的,代码值为0,为空指针,不指向任何单元。)
数组名是首地址,指针常量。(不可以修改)
指针变量是可修改的。
数组元素a[i]的地址表达式可分四种表达!
#include<stdio.h> int main() { int i,sum,a[10],*pa=a; printf("please input(a[0]-a[9]):"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(sum=i=0;i<10;i++) sum+=a[i]; printf("sum=%d\n",sum); return 0; }
#include<stdio.h> int main() { int i,sum,a[10],*pa=a; printf("please input(a[0]-a[9]):"); for(i=0,pa=a;i<10;i++) scanf("%d",pa+i); for(sum=i=0;i<10;i++) sum+=a[i]; printf("sum=%d\n",sum); return 0; }
#include<stdio.h> int main() { int i,sum,a[10],*pa=a; printf("please input(a[0]-a[9]):"); for(i=0,pa=a;i<10;i++,pa++) scanf("%d",pa); for(sum=i=0;i<10;i++) sum+=a[i]; printf("sum=%d\n",sum); return 0; }
#include<stdio.h> int main() { int i,sum,a[10],*pa=a; printf("please input(a[0]-a[9]):"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(sum=i=0,pa=a;i<10;i++) sum+=pa[i]; printf("sum=%d\n",sum); return 0; }
#include<stdio.h> int main() { int i,sum,a[10],*pa=a; printf("please input(a[0]-a[9]):"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(sum=i=0,pa=a;i<10;i++,pa++) sum+=*pa; printf("sum=%d\n",sum); return 0; }
#include<stdio.h> int main() { int i,sum,a[10],*pa=a; printf("please input(a[0]-a[9]):"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(sum=0,pa=a;pa<a+10;pa++) sum+=*pa; printf("sum=%d\n",sum); return 0; }
原文:https://www.cnblogs.com/DCdc1230/p/10822107.html