数组的相关计算(续)
#include <stdio.h>
int main()
{
char a[] = {'a','b','c','d','e','f'};
printf("%d\n", strlen(a));
printf("%d\n", strlen(a + 0));
printf("%d\n", strlen(*a));
printf("%d\n", strlen(a[1]));
printf("%d\n", strlen(&a));
printf("%d\n", strlen(&a + 1));
printf("%d\n", strlen(&a[0] + 1));
return 0;
}
#include <stdio.h>
int main()
{
char a[] = "abcdef";
printf("%d\n", sizeof(a));
printf("%d\n", sizeof(a+0));
printf("%d\n", sizeof(*a));
printf("%d\n", sizeof(a[1]));
printf("%d\n", sizeof(&a));
printf("%d\n", sizeof(&a+1));
printf("%d\n", sizeof(&a[0]+1));
printf("%d\n", strlen(a));
printf("%d\n", strlen(a + 0));
printf("%d\n", strlen(*a));
printf("%d\n", strlen(a[1]));
printf("%d\n", strlen(&a));
printf("%d\n", strlen(&a + 1));
printf("%d\n", strlen(&a[0] + 1));
return 0;
}
#include <stdio.h>
int main()
{
char *p = "abcdef";
printf("%d\n", sizeof(p));
printf("%d\n", sizeof(p+1));
printf("%d\n", sizeof(*p));
printf("%d\n", sizeof(p[0]));
printf("%d\n", sizeof(&p));
printf("%d\n", sizeof(&p+1));
printf("%d\n", sizeof(&p[0]+1));
printf("%d\n", strlen(p));
printf("%d\n", strlen(p + 1));
printf("%d\n", strlen(*p));
printf("%d\n", strlen(p[0]));
printf("%d\n", strlen(&p));
printf("%d\n", strlen(&p + 1));
printf("%d\n", strlen(&p[0] + 1));
return 0;
}
二维数组的计算
#include <stdio.h>
int main()
{
int a[3][4] = {0};
printf("%d\n", sizeof(a));
printf("%d\n", sizeof(a[0][0]));
printf("%d\n", sizeof(a[0]));
printf("%d\n", sizeof(a[0]+1));
printf("%d\n", sizeof(a+1));
printf("%d\n", sizeof(&a[0]+1));
printf("%d\n", sizeof(*a));
printf("%d\n", sizeof(a[3]));
return 0;
}