[問題] 請問這樣寫有什麼問題

看板C_and_CPP (C/C++)作者 (我還存在耶)時間11年前 (2015/01/24 10:18), 編輯推噓2(315)
留言9則, 6人參與, 最新討論串1/1
請問一下版友 底下這兩段code,會有什麼問題阿 看不太出來 謝謝 1. int val; int **p; val = *p; 2. int fun(volatile int *a) { return (*a)*(*a); } -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.187.130 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1422065908.A.82A.html

01/24 13:45, , 1F
自己寫一寫不就知道了
01/24 13:45, 1F

01/24 16:36, , 2F
幫抵銷,第二個要寫出來會出錯應該不太容易吧
01/24 16:36, 2F

01/24 19:04, , 3F
第二個是race condition
01/24 19:04, 3F

01/24 23:27, , 4F
不過蠻好奇乘法運算是不是原子操作?印象中有些指令是
01/24 23:27, 4F

01/24 23:47, , 5F
撇人淺見 1. 指標在64bit系統是8bytes int還是4bytes
01/24 23:47, 5F

01/24 23:48, , 6F
2. volatitle的變數就是隨時會變 int b=*a; return b*b;
01/24 23:48, 6F

01/24 23:50, , 7F
volatile錯字 哈
01/24 23:50, 7F

01/25 01:52, , 8F
x64: sizeof(int)=4 ,sizeof(int *)=8
01/25 01:52, 8F

01/26 15:23, , 9F
1. Segmentation fault, 2. Multiplication overflow
01/26 15:23, 9F
文章代碼(AID): #1Kmm3qWg (C_and_CPP)
文章代碼(AID): #1Kmm3qWg (C_and_CPP)