iT邦幫忙

0

malloc裡的sizeof定義

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20211008/20131382950JrWGHft.pnghttps://ithelp.ithome.com.tw/upload/images/20211008/201313828tb2xR7yx7.pnghttps://ithelp.ithome.com.tw/upload/images/20211008/20131382IT2HIyKGi8.png
請問大大,之前學校和網路爬文是說malloc的sizeof()裡要塞需要的大小,
struct birthday person=(struct birthday)malloc(sizeof(struct birthday*));
表示person結構指標指向一個創好的結構變數大小的空間,這裡正確應該是要放struct birthday型別,但我塞過了int、char其他型別,跑出來的結果都一樣,那原"要放想要東西的大小"好像就沒意義了,照理說我struct裡令了那麼多變數,我sizeof()裡如果塞的是char不就溢出了嗎?

你可以再 malloc() 第二個 第三個 ,然後一樣塞值看看....
有實驗精神不錯.
EN iT邦好手 1 級 ‧ 2021-10-09 01:27:53 檢舉
可以搜尋關鍵字: Heap exploitation,應該會有你想要的答案。
bogay iT邦新手 3 級 ‧ 2021-10-13 00:06:03 檢舉
是不是因為你塞的都是 pointer 啊?有加 * 的話,那拿到的都是 pointer,所以大小會一樣應該也是正常的。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答