C 语言中的陷阱
函数中的内部变量会被回收
在 C 语言中,函数中的内部变量会在函数执行完成(调用出栈)之后被回收,因此不能将内部变量的指针赋值给函数外部的变量:
? :
运算符优先级比 +
-
*
/
%
低
? :
运算符优先级比 +
-
*
/
%
低在 C 语言中,三目运算符 ? :
的优先级是很低的,比 +
-
*
/
%
运算符都要低,因此需要注意避免出现以下问题:
数组变量被当作指针处理
在 C 语言中,数组变量相当于该数组中第一个元素的地址,并且在调用函数过程中,被传递的数组变量实际上只是一个指针变量。因此例如 sizeof nums / sizeof nums[0]
之类的运算,应该在调用函数之前执行。
结构体之间的类型转换
// TODO
最后更新于