這東西真的會忘記,改寫公司的LCD2USB程式的時候想說使用Struct + malloc來實做
動態device被移除或是插入時抓Database內的資料陣列。然後很天真的在Struct內宣告
兩個字元指標 Char *str1,*str2; 然後malloc去生一堆出來做link list後給定指標的字串,
然後發現怎麼每個Struct的指標值都一樣?找了一下才發現原來使用malloc去生的Struct
內如果memeber是Char *ptr 系統只會讓每個指標指到一塊相同的記憶體.......所以要就是
裡面放正常的陣列,要不就是malloc Struct 後還要自己malloc每個Struct內的指標,免得
到時候Assign出問題啊 XD
動態device被移除或是插入時抓Database內的資料陣列。然後很天真的在Struct內宣告
兩個字元指標 Char *str1,*str2; 然後malloc去生一堆出來做link list後給定指標的字串,
然後發現怎麼每個Struct的指標值都一樣?找了一下才發現原來使用malloc去生的Struct
內如果memeber是Char *ptr 系統只會讓每個指標指到一塊相同的記憶體.......所以要就是
裡面放正常的陣列,要不就是malloc Struct 後還要自己malloc每個Struct內的指標,免得
到時候Assign出問題啊 XD
留言
張貼留言