int a[10],*pa.
a[i]、pa[i]、*(a+i)、*(pa+i)四种表达式的结果是完全一样的。
指针式地址变量,数组名是地址常量
#include <stdio.h>
int main(int argc, char *argv[])
{
int a[10],*pa,i;
pa=a;
for(i=0;i<10;i++){
a[i]=i;
printf("a[%d] = %d\t",i,a[i]);
printf("*pa[%d] = %d\t",i,pa[i]);
printf("*(a+%d) = %d\t",i,*(a+i));
printf("*(pa+%d) = %d\n",i,*(pa+i));
}
printf("\n\n\n\n");
for(i=0;i<10;i++){
*(pa+i)=10+i;
printf("a[%d] = %d\t",i,a[i]);
printf("*pa[%d] = %d\t",i,pa[i]);
printf("*(a+%d) = %d\t",i,*(a+i));
printf("*(pa+%d) = %d\n",i,*(pa+i));
}
return 0;
}
运行结果---------》》》》》》》
a[0] = 0 *pa[0] = 0 *(a+0) = 0 *(pa+0) = 0
a[1] = 1 *pa[1] = 1 *(a+1) = 1 *(pa+1) = 1
a[2] = 2 *pa[2] = 2 *(a+2) = 2 *(pa+2) = 2
a[3] = 3 *pa[3] = 3 *(a+3) = 3 *(pa+3) = 3
a[4] = 4 *pa[4] = 4 *(a+4) = 4 *(pa+4) = 4
a[5] = 5 *pa[5] = 5 *(a+5) = 5 *(pa+5) = 5
a[6] = 6 *pa[6] = 6 *(a+6) = 6 *(pa+6) = 6
a[7] = 7 *pa[7] = 7 *(a+7) = 7 *(pa+7) = 7
a[8] = 8 *pa[8] = 8 *(a+8) = 8 *(pa+8) = 8
a[9] = 9 *pa[9] = 9 *(a+9) = 9 *(pa+9) = 9
a[0] = 10 *pa[0] = 10 *(a+0) = 10 *(pa+0) = 10
a[1] = 11 *pa[1] = 11 *(a+1) = 11 *(pa+1) = 11
a[2] = 12 *pa[2] = 12 *(a+2) = 12 *(pa+2) = 12
a[3] = 13 *pa[3] = 13 *(a+3) = 13 *(pa+3) = 13
a[4] = 14 *pa[4] = 14 *(a+4) = 14 *(pa+4) = 14
a[5] = 15 *pa[5] = 15 *(a+5) = 15 *(pa+5) = 15
a[6] = 16 *pa[6] = 16 *(a+6) = 16 *(pa+6) = 16
a[7] = 17 *pa[7] = 17 *(a+7) = 17 *(pa+7) = 17
a[8] = 18 *pa[8] = 18 *(a+8) = 18 *(pa+8) = 18
a[9] = 19 *pa[9] = 19 *(a+9) = 19 *(pa+9) = 19
请按任意键继续. . .
int data[2][3],*pdata[2];
pdata【0】=data【0】;
pdata【1】=data【1】;
data[i][j],*(data[i]+j),*(*(data+i)+j),*(*(pdata+i)+j),*(pdata[i]+j),pdata[i][j]表达
#include <stdio.h>
int main(int argc, char *argv[])
{
char *string[20]={"I love","miaomiao","Jay",""},*p,**pp;
//pp=string;
int i=0;
/*
for(i=0;i<3;i++){
*(pp+i)=string[i];
}*/
pp=string;
i=0;
p=string[i];
while(pp[i]!=NULL){
printf("%s\n",pp[i]);
//printf("\nttt----%s\t",p+i);
i++;
}
return 0;
}