結構體內的陣列 申請記憶體錯誤

2022-02-11 10:42:52 字數 972 閱讀 5772

1、請看下面的一段**

typedef struct pvs_set_time_user_time_grouppvs_set_time_user_time_group;
這裡的結構體內部用定義了乙個指標,但是使用下面的**會出現提示不相容:

m_timegroup->timeprd = (pvs_timeprd *)malloc(sizeof(pvs_timeprd)*num);
結果如下:

g++   pvs_protocolanalysis.cpp test_proto.cpp -g -o test_protocol

pvs_protocolanalysis.cpp: in member function 『int pvs_protocolanalysis::pvs_infordownloadidlistchck(char*, pvs_infor_download_idlist_chck*)』:

pvs_protocolanalysis.cpp:835: error: incompatible types in assignment of 『pvs_download_message*』 to 『pvs_download_message [0]』

pvs_protocolanalysis.cpp: in member function 『int pvs_protocolanalysis::pvs_settimeusertimegroup(char*, pvs_set_time_user_time_group*)』:

pvs_protocolanalysis.cpp:1141: error: incompatible types in assignment of 『pvs_timeprd*』 to 『pvs_timeprd [0]』

修改方法是:將結構體內的 pvs_timeprd timeprd 換成 pvs_timeprd *timeprd;

個人

結構體內存對齊 申請釋放記憶體空間

指標基礎知識 關於一些不的不知道而且聞所未聞的高中聽都沒聽過的但是讓我支支吾吾的問題 申請空間 釋放空間 零零碎碎的小知識點 學習是為了改變世界,改變自己,改變人生.請善用搜尋 不需要了,我會建立目錄了 近期目標 從下標進化到指標 為了讓自己距離dalao近一點.指標.int pa 乙個整型變數指標...

結構體內存

c語言中結構體占用記憶體問題 之前對結構體占用記憶體一直很混亂,到底是按照哪個變數型別計算記憶體?還是怎麼計算?下面先看乙個例子 struct str1 str1這個結構體占用的記憶體是多少呢?如果用變數型別直接想加,得到的結果是17,但顯然不是這樣的。這個程式執行的正確結果是24.為什麼呢?因為為...

結構體內存對齊

結構體內存對齊 一 什麼是位元組對齊,為什麼要對齊?現代計算機中記憶體空間都是按照byte劃分的,從理論上講似乎對任何型別的變數的訪問可以從任何位址開始,但實際情況是在訪問特定型別變數的時候經常在特 定的記憶體位址訪問,這就需要各種型別資料按照一定的規則在空間上排列,而不是順序的乙個接乙個的排放,這...