题解 | #嵌入式会改变的指针#
嵌入式会改变的指针
https://www.nowcoder.com/practice/84791be9b66c441f81f4d083713341ba
int fun(int n ) {
// write code here
volatile int * p = &n;
return square(p);
}
int square(volatile int * p){
// return (*p) * (*p); 这是错的,因为p为volatile修饰的,其具有易变性,且该关键字不能保证原子性 ,即获取第一个*p 后第二个*p获取的值可能跟前面的不同
int a = *p;
return a*a;
}