#include<iostream>
using namespace std;
struct a{
int e;
struct abc *d;
};
struct abc{
int c;
};
int main()
{
return 0;
}
在定义struct a
之后,我定义了struct abc
,并声明了一个指向abc
结构的指针。这应该会导致编译错误,因为在声明之前使用了abc
。但是,实际上没有出现错误,为什么呢?
然而,当我将其替换为struct abc d
而不是struct abc *d
时,它按预期产生编译错误。
sizeof(char*) != sizeof(int*)
指针的大小是否可能在数据指针和函数指针之间有所不同? 是否有任何平台,不同类型的指针具有不同的大小? 在这些情况下,编译器如何知道指针的大小? - phuclvabc
жҳҜдёҖдёӘзұ»вҖқпјҲC++жІЎжңүз»“жһ„дҪ“пјүгҖӮ - Lightness Races in Orbit