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

作者: liptonbin (我還存在耶)   2015-01-24 10:18:25
請問一下版友
底下這兩段code,會有什麼問題阿
看不太出來
謝謝
1.
int val;
int **p;
val = *p;
2.
int fun(volatile int *a)
{
return (*a)*(*a);
}
作者: tubbysong (song)   2015-01-24 13:45:00
自己寫一寫不就知道了
作者: a27417332 (等號卡比)   2015-01-24 16:36:00
幫抵銷,第二個要寫出來會出錯應該不太容易吧
作者: dritchie (卍~邁斯納效應~卍)   2015-01-24 19:04:00
第二個是race condition
作者: a27417332 (等號卡比)   2015-01-24 23:27:00
不過蠻好奇乘法運算是不是原子操作?印象中有些指令是
作者: Qbsuran (Qbsuran)   2015-01-24 23:47:00
撇人淺見 1. 指標在64bit系統是8bytes int還是4bytes2. volatitle的變數就是隨時會變 int b=*a; return b*b;volatile錯字 哈
作者: TobyH4cker (Toby (我要當好人))   2015-01-25 01:52:00
x64: sizeof(int)=4 ,sizeof(int *)=8
作者: anyoiuo   2015-01-26 15:23:00
1. Segmentation fault, 2. Multiplication overflow

Links booklink

Contact Us: admin [ a t ] ucptt.com