指针:
一.指针分为三部分
定义指针int *p和解指针 *p和&取地址
#include<stdio.h> int main(){ int a=6; int *p; p=&a; printf("%d\n",*p); return 0; }
1.定义指针,int *p 为定义一个指针,在内存块中开辟出来一个地址来;
如图输出的为指针的地址位置
2.取地址&
例把a的地址取出来赋值给p
在同一句中,*(解指针)和&(取地址)不能同时出现,去掉*保留&
p=&a;
3..解指针,除了定义指针变量外其他的地方出现的指针的是解指针;
如printf("%d\n",*p)
二.例题:
1.利用指针输出数组中数值的和
#include<stdio.h>
int main(){
int a[10]={1,2,3,4,5,6,7,8,9,10};
int c=0,sum=0,*p;
p=a;
while(p<a+10){
sum+=*p;
c++;
printf("第%d个数为%d\n",c,*p);
p++;
}
printf("sum=%d\n",sum);
return 0;
}
理解:
1.数组也要创建地址;
int a[]={1,2,3,4,5,6,7,8,9,10};
2.a+10是数组的首地址向右移动10位
3.每次循环解一次地址值,之后加到sum上;输出也要解一次地址,输出相对的数。
sum+=*p;
4.输出也要解一次地址,输出相对的数。
printf("数值%d\n",*p);
5.输出的结果
--------------------------------如有错误,请大家指正-------------------------------------------------------