本文共 2974 字,大约阅读时间需要 9 分钟。
指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:type *var-name
int *ip; /* 一个整型的指针 */double *dp; /* 一个 double 型的指针 */float *fp; /* 一个浮点型的指针 */char *ch; /* 一个字符型的指针 */
#includeint main (){ int *ptr = NULL; printf("ptr 的地址是 %p\n", ptr ); return 0;}----------------------ptr 的地址是 0000000000000000
#includeint main (){ int *p,i; int array[]={ 0,1,2,3,4}; p=array; for(i=0;i<5;i++){ printf("array[%d] 的地址是 %x\n",array[i],p); printf("array[%d] 存储值是 %d\n",array[i],*p); p++; } return 0;}----------------------array[0] 的地址是 62fe00array[0] 存储值是 0array[1] 的地址是 62fe04array[1] 存储值是 1array[2] 的地址是 62fe08array[2] 存储值是 2array[3] 的地址是 62fe0carray[3] 存储值是 3array[4] 的地址是 62fe10array[4] 存储值是 4
#includeint main (){ int *p,i; int array[]={ 0,1,2,3,4}; p=&array[4]; for(i=4;i>=0;i--){ printf("array[%d] 的地址是 %x\n",array[i],p); printf("array[%d] 存储值是 %d\n",array[i],*p); p--; } return 0;}----------------------array[4] 的地址是 62fe10array[4] 存储值是 4array[3] 的地址是 62fe0carray[3] 存储值是 3array[2] 的地址是 62fe08array[2] 存储值是 2array[1] 的地址是 62fe04array[1] 存储值是 1array[0] 的地址是 62fe00array[0] 存储值是 0
#includeint main (){ int *p,i=0; int array[]={ 521,125,1314,8187}; p=array; while(p<&array[3]){ printf("array[%d] 的地址是 %x\n",array[i],p); printf("array[%d] 存储值是 %d\n",array[i],*p); p++; i++;} return 0;}---------------------array[521] 的地址是 62fe00array[521] 存储值是 521array[125] 的地址是 62fe04array[125] 存储值是 125array[1314] 的地址是 62fe08array[1314] 存储值是 1314
#includeint main (){ int *p,i=0; int array[]={ 521,125,1314,8187}; p=array; for(i;i<4;i++){ printf("array[%d]=%d\n",i,*p); p++;} return 0;}----------------------array[0]=521array[1]=125array[2]=1314array[3]=8187
#includeint main (){ char *names[] = { "tom","jack","steve","juliy",}; int i = 0; for ( i = 0; i < 4; i++) { printf("The %dth pepple is %s\n", i+1, names[i] ); } return 0;}----------------------The 1th pepple is tomThe 2th pepple is jackThe 3th pepple is steveThe 4th pepple is juliy
#includeint main (){ int a=18; int *p,**pp; p=&a; pp=&p; printf("%d\n",a); printf("%d\n",*p); printf("%d",**pp); return 0;}----------------------181818
#includedouble fun(int *s);int main (){ int a[5]={ 1,2,3,4,5}; double ave; ave=fun(a); printf("%lf",ave); return 0;}double fun(int *s){ int sum=0,i; double ave; for(i=0;i<5;i++){ sum+=s[i]; } ave=sum/5; return ave;}----------------------3.000000
#includeint fun(int *s);int main (){ int a[5]={ 1,2,3,4,5},sum=0; sum=fun(a); printf("%d",sum); return 0;}int fun(int *s){ int sum=0,i; for(i=0;i<5;i++){ sum+=s[i]; } return sum;}----------------------15
转载地址:http://lzagz.baihongyu.com/