* value12 = 0
* value13 = 8
*/
#include
#include
#include
int main()
{
char networks[25] = {0};
char *p1 = "networks";
char *p2 = malloc(25);
char *p3 = networks;
printf("value1 = %d,value2 = %d,value3 = %d\n",sizeof(p1),sizeof(p2),sizeof(p3));
printf("value4 = %d,value5 = %d,value6 = %d\n",sizeof(&p1),sizeof(&p2),sizeof(&p3));
printf("value7 = %d,value8 = %d,value9 = %d\n",sizeof(*p1),sizeof(*p2),sizeof(*p3));
printf("value10 = %d\n",sizeof(networks));
printf("value11 = %d\n",sizeof("networks"));
printf("value12 = %d\n",strlen(networks));
printf("value13 = %d\n",strlen("networks"));
}
分析:
Sizeof(*p1) =1 ,====
》
*p1
是第一个字符
sizeof(networks)
=25 =====
》
networks
在内存中的大小
25 x 1
1.2
/*