優化資料結構運算元組 指標

2021-09-29 01:27:33 字數 1161 閱讀 6628

開始操作:

原始資料結構

#define receive_max 2048

typedef struct

lbdatatype;

計畫 1改為指標 2放棄巨集

先1#define receive_max 2048

typedef struct

lbdatatype

編譯發現 沒有問題 其實是有問題的 你看

》問題1-------memset

typedef struct

lbdatatype;

char buf=;

lbdatatype b;

int main()

hello--hello

(null)--hello

[finished in 0.7s]

此時不能直接memset!!!!!

你應該自己寫

typedef struct

lbdatatype;

char buf=;

lbdatatype b;

void lbdatatype_memset(lbdatatype *p)

int main()

hello--hello--5

----0

[finished in 0.6s]

》問題2-------memcpy是ok的不要用sizeof

typedef struct

lbdatatype;

char buf=;

char buf2=;

lbdatatype b;

void lbdatatype_memset(lbdatatype *p)

int main()

hello--hello--5

----0

00404004--00404004

world--world--0

[finished in 0.6s]

但是需要注意

memcpy(&tempdata , &udata , sizeof(lbdatatype));

有問題 sizeof很小!

printf("%d\r\n",sizeof(b));--8

問題2----初始化

指標沒有記憶體 不能防止資料

指標運算元組

基本概念 指標運算元組的兩種方式 1 p value 2 p value 指標陣列與陣列指標區別 指標陣列 乙個陣列,存放的全是指標 陣列指標 乙個指向陣列的指標 1.一維陣列與指標 int p a 是將a 首位址傳給p cout p 將a的收位址輸出 cout p 3 輸出a 3 源 includ...

C C 使用指標運算元組

在進行如題操作之前,我們先了解一下指標和陣列的本質。1 指標本身是乙個變數,值是乙個儲存單元的位址。2 指標的值可以發生改變。3 多個指標可以指向同一塊儲存單元。4 指標必須有型別,如 int 型別。讀完上面這些話,是不是有點明白指標的意義了。陣列名 本身就是乙個指標常量 不理解 指標常量 的同學,...

資料結構 指標知識

int p其實是乙個指標變數,該指標變數只能儲存int型別的資料的位址。9 指標陣列與指向一維陣列的指標變數 1 指標陣列 乙個陣列,它的元素都為指標型別。定義方式為 型別說明 陣列名 整型常量表示式 如 char s 4 則定義了乙個指標陣列,即s 0 s 1 s 2 s 3 均用來存放位址值,主...