抱歉,标题令人困惑。这是我的结构:
struct l_list{
int number;
char *name;
double value;
struct l_list *next;
};
typedef struct l_list *PhoneBook;
主功能:
int main(void){
printf("%u\n", sizeof(struct l_list));
PhoneBook person1;
printf("%u\n", sizeof(*person1));
printf("%u\n", sizeof(PhoneBook));
return 0;
}
输出为:
我知道
PhoneBook
显示4个字节,因为它只是指针的大小,但是如何从typedef PhoneBook
中找到实际结构的大小呢? 最佳答案
你可以做:
printf("%u\n", sizeof(*(PhoneBook) NULL) );
关于c - 从指针中找到结构的正确大小而不创建对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19672769/