指針變量大小與機器位數和編譯器有關,是以在用malloc配置設定空間時,sizeof的參數應該是指針所指向的變量類型
例如:p=(pTest)malloc(sizeof(pTest))是錯誤的,因為pTest指向的類型是Test,這樣會導緻記憶體隻配置設定8位元組用于存儲p指向的Test變量,而應該配置設定16位元組;
正确寫法:p=(pTest)malloc(sizeof(Test))。
//
// Created by dgm on 19-3-10.
//
#include <iostream>
using namespace std;
typedef struct {
int i;
int j;
int k;
int l;
}Test,*pTest;
int main()
{
cout<< sizeof(Test)<<endl;
cout<< sizeof(pTest)<<endl;
return 0;
}