文章目录
一、判定指针合法性
二、数组越界
三、不断修改指针变量值
四、函数中将栈内存数组返回
五、函数间接赋值形参操作
六、指针取值与自增操作
一、判定指针合法性
----
判定指针合法性时 , 必须进行如下判断...超出了数组的大小 ;
错误示例 : "abc" 字符串需要
4
字节内存 , 后面第
4
个字节是 \0 字符 ;
// 错误示例
char str[3] = "abc";
三、不断修改指针变量值...----
凡是涉及到修改 指针 变量值时 , 不要直接修改 原来的 指针变量 指向 ;
推荐 创建新的 临时局部指针变量 , 接收该 指针 , 需要修改指针时 , 修改 该 临时局部指针变量 ;
四、...函数中将栈内存数组返回
----
如果在函数中 , 需要 创建一块内存空间 , 返回给调用者 ;
这块在 函数中 创建的内存 , 不能是数组 , 必须使用 malloc 函数 , 在 堆内存 中创建一块内存空间...----
对于指针 * 和 ++ 同时操作时 , 如 :
*p++;
特别注意 , 后缀 ++ 操作优先级高 , 先执行 *p 操作 , 然后地址 ++ ;
上述语句执行后 , 指针指向的地址就改变了