看板 C_and_CPP 關於我們 聯絡資訊
Language: C 如題,請問有辦法知道指標指向的分配記憶體大小嗎? ex: char *s = (char*)malloc(100); 有任何辦法知道s是被分配到100-bytes的記憶體大小嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.124.27
smilecat13:sizeof( )不可行,不知道有沒有其他函數可以用 12/20 17:15
littleshan:有方法 但非標準 建議你還是把長度自己記下來 12/20 17:15
james732:自己記錄吧...譬如用個struct+專用的function 12/20 17:27
james732:類似 http://ideone.com/Pkuvi8 12/20 17:29
cobrasgo:一樓,sizeof不是函數喔 12/20 19:58
cobrasgo:不信的話你寫sizeof s試看看XD 12/20 19:58
james732:一樓也沒說sizeof是函數啊...XD 12/20 22:04
Ebergies:你上面不就寫了 100 了, 怎麼會不知道它有 100 bytes XD 12/21 10:13
事情是這樣子的,我正在寫一個UDP Transfer, Server會把讀進的檔案做切割,塞到每個datagram裡,然後再傳給Client。 問題就出在Client要怎麼知道Server傳進來的datagram大小。 其實可以在datagram裡加一個dataSize欄位,但這樣就會佔去4-bytes的空間 希望有更有效率的方式,所以才會問這個問題。 ※ 編輯: smilecat13 來自: 140.113.124.27 (12/22 01:06)
PkmX:udp的header不是本來就有length嗎...? 12/22 01:34