标签:
void main()
{
char a[10][10]={"morning","afternoon","evening","night"}; //
printf("%c \n ",a[1][0]);
printf("%s \n",a);
printf("%s \n ",a[1]);
printf("%s \n",*a+1);
printf("%c \n",*(*(a+1)+1));
printf("%c \n",**a);
printf("%c \n",a[1][1]+1);
int q=strlen(a[1]); //第二个字符串数组的长度
int w=strlen(*(a+1)); //
int e=strlen(*a); //指向a这个二维数组的二维指针的第一个一维指针的长度。。。
int r=strlen("a[]+1");
int t=strlen("a[]");
int y=strlen("*a");
printf("%d %d %d %d %d %d\n \n",q,w,e,r,t,y);
//
char *p[]={"morning","afternoon","evening","night"}; //
printf("%c \n",p[1][0]);
printf("%s \n",*p);
printf("%s \n ",p[1]);
printf("%s \n",p[1]+1);
printf("%c \n",*(*(p+1)+1));
printf("%c \n",**p);
printf("%c \n",*p[1]+1);
int z=strlen(p[1]); //p[1]指向的是第二个一维数组的首地址,strlen求第二个一维数组的长度
int x=strlen(*(p+1)); //等同于p[0]向右偏移一位
int c=strlen(*p); //第一个一维数组的长度
int v=strlen("p[]+1"); //未知
int b=strlen("p[]"); //未知
int n=strlen("*p");
printf("%d %d %d %d %d %d \n \n",z,x,c,v,b,n);
}
如果我能把这些完全搞懂,数组和指针就应该能学会了
标签:
原文地址:http://www.cnblogs.com/confused/p/5746177.html