无论是指针变量还是普通变量,函数调用时传递的参数均是实参变量的一份拷贝,因为实参是局部变量({}内的变量),所以函数调用并不能修改实参本身,只能修改实参的一份拷贝。指针变量可以通过实参的一份拷贝修改指针所指向的变量。
若想要使用修改的指针变量的实参的拷贝
1. return
2. 二级指针
多维数组只能省略第一维的数组长度是由编译器决定,方便编译器推断数组的行数。
避免使用全局变量,因为全局变量生命周期长,容易出错,且长时间占用空间。
少使用static局部变量(记忆存储器)。带有记忆功能的函数其行为往往是不可预测的,该函数的行为可能要取决于某种
“记忆状态”,这样的函数不易理解还很难测试和维护。
不要返回指向栈内存的指针。
getchar()函数的返回值是int类型的。
sizeof是关键字(编译时计算),求的是变量所占的内存空间的大小,与其存储内容无关。
strlen是函数(运行时计算),求字符串的长度,以‘/0‘(不计入长度)为结束标志,只关心存储内容。