C语言结构体笔记1:结构体指针未分配内存,但成员长度不为0的解释

关于结构体指针未开辟空间时,sizeof计算结构体成员长度不为0的情况

#include <stdio.h>
#include <string.h>
#include<stdlib.h>
int main()
{
    
    
  	struct stu
	{
    
    
		char *name; //一级指针
		int age;
	};
	
	struct stu * p;
	printf("%d\n", sizeof(p));
	printf("%d\n", sizeof(p->age));//这里能输出,不代表age分配了内存,可以理解为指针步长的一部分

   return 0;
}

输出(win32位)

4
4

猜你喜欢

转载自blog.csdn.net/weixin_44457930/article/details/128519824