C sizeof 数组 指针 结构体 实例及结果

#include <stdio.h>  
#include <string.h>  

struct node
{
    int a;
    char c;
    int d[];
};

void size()
{
	struct node nade = { 5, 'a', 1,2 };

	printf("\n**************************\n");

	char *ptr1 = "Hello word";
	char ptr2[] = "Hello word";
	char ptr3[100] = "Hello word";

	printf("sizeof (*ptr1) = %d\n", sizeof(ptr1));      //测量char *ptr的长度  
	printf("strlen(*ptr1) = %d\n", strlen(ptr1));        //测量字符串的长度  
	printf("sizeof (ptr2[]) = %d\n", sizeof(ptr2));
	printf("strlen(*ptr2[]) = %d\n", strlen(ptr2));
	printf("sizeof (ptr3[]) = %d\n", sizeof(ptr3));
	printf("strlen(*ptr3[100]) = %d\n", strlen(ptr3));
	printf("\n");

	printf("sizeof (long) = %d\n", sizeof(int));        //测量int型的长度  
	printf("sizeof (short) = %d\n", sizeof(short));
	printf("sizeof (long) = %d\n", sizeof(long));
	printf("sizeof (long long) = %d\n", sizeof(long long));
	printf("sizeof (float) = %d\n", sizeof(float));
	printf("sizeof (double) = %d\n", sizeof(double));
	printf("sizeof (char) = %d\n", sizeof(char));
	
	printf("sizeof (nade) = %d\n", sizeof(nade));

	printf("\n**************************\n");
}

int main()
{
	size();

	return 0;
}

结果如下:


猜你喜欢

转载自blog.csdn.net/u012611644/article/details/80752780