我需要初始化一個typedef結構指針如何initiaze一個typedef結構指針
在頭文件,
typedef struct {
DWORD RxBuf[4];
DWORD Tr0c;
} t, *p_t;
在cpp文件,
static p_t p1
= {
{0x00,0x00,0x00,0x00},
0
};
我需要初始化一個typedef結構指針如何initiaze一個typedef結構指針
在頭文件,
typedef struct {
DWORD RxBuf[4];
DWORD Tr0c;
} t, *p_t;
在cpp文件,
static p_t p1
= {
{0x00,0x00,0x00,0x00},
0
};
只是一個猜測,我相信你想要做的事:
static t tNull
= {
{0x00,0x00,0x00,0x00},
0
};
static p_t p1 = &tNull;
我認爲'tNull'常數是個好主意。 – 2014-10-29 17:06:14
@RaydelMiranda:如果您希望此指針類型指向它,則不是。 (爲什麼你想要定義這個指針類型是另一回事,但這是OP要求的。) – 2014-10-29 17:13:23
p_t
是一個指針,因此您必須將其指向t
類型的有效對象。
可以使對象並指向它:
t var = { { 1 , 2 , 3 , 4 } , 5 } ;
p_t pointer = &var ;
或者使用文字的化合物:
p_t pointer = &(t){ { 1 , 2 , 3 , 4 } , 5 } ;
您已經聲明'p1'爲指針,所以初始化需要成爲一個指針。 – user3386109 2014-10-29 17:00:53
你需要一些指針指向*指向*。你已經給了這個東西的初始化器,而不是指向那個東西的*指針。 – 2014-10-29 17:02:48
memset(g_pT,0,sizeof(t));' – Quest 2014-10-29 17:05:16