#include <stdio.h>
char test[8]={10,20,30,40,50,60,70,80};
int main(void)
{
printf("************0**********\n");
printf("test:%d\n",test);
printf("&test:%d\n",&test);
printf("*test:%d\n",*test);
printf("************1**********\n");
printf("test+1:%d\n",test);
printf("&test+1:%d\n",&test+1);
printf("*test+1:%d\n",*test+1);
printf("************2**********\n");
printf("sizeof(test):%d\n",sizeof(test));
printf("sizeof(&test):%d\n",sizeof(test));
}
输出结果:
************0**********
test:6295624
&test:6295624
*test:10
************1**********
test+1:6295624
&test+1:6295632
*test+1:11
************2**********
sizeof(test):8
sizeof(&test):8
/usercode/file.cpp: In function ‘int main()’:
/usercode/file.cpp:7:30: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘char*’ [-Wformat=]
printf("test:%d\n",test);
^
/usercode/file.cpp:8:32: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘char (*)[8]’ [-Wformat=]
printf("&test:%d\n",&test);
^
/usercode/file.cpp:11:32: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘char*’ [-Wformat=]
printf("test+1:%d\n",test);
^
/usercode/file.cpp:12:36: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘char (*)[8]’ [-Wformat=]
printf("&test+1:%d\n",&test+1);
^
/usercode/file.cpp:15:46: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
printf("sizeof(test):%d\n",sizeof(test));
^
/usercode/file.cpp:16:47: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
printf("sizeof(&test):%d\n",sizeof(test));
^