天天看點

malloc參數

指針變量大小與機器位數和編譯器有關,是以在用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;
}
           
malloc參數