文章目录
- 一、判定指针合法性
- 二、数组越界
- 三、不断修改指针变量值
- 四、函数中将栈内存数组返回
- 五、函数间接赋值形参操作
- 六、指针取值与自增操作
一、判定指针合法性
判定指针合法性时 , 必须进行如下判断 , 判断的是 指针指向的地址 是否为 NULL
, 即 是否为 0 地址 ;
int get_value(char *key_value, char *key, char *value, int *value_len)
{
// 任何函数调用前 , 先判定函数形参正确性
if(key_value == NULL || key == NULL || value == NULL || value_len == NULL)
{
printf("key_value == NULL || key == NULL || value == NULL || value_len == NULLn");
return -1;
}
}
不能判断 指针指向的内容是否为 0 , 下面的示例是错误的 :
代码语言:javascript复制// 错误示例
int get_value(char *key_value)
{
// 错误的判定示例
if(*key_value != '