C语言高级编程:const限定函数形参

1. 代码

#include <stdio.h>

void fun(const char *p)
{
    *p = 'a';
}

void main()
{
    char arr[] = "123";
    fun(arr);
}

2. 编译

D:\baoli\Desktop
λ gcc test.c
test.c: 在函数‘fun’中:
test.c:6:5: 错误:向只读位置‘*p’赋值
  *p = 'a';
     ^

3. 分析

形参p指向const char类型(只读char),所以编译报错,这可以防止在函数内部修改p指向的内存,因为有时候我们并不希望p指向的内存被修改。

发布了170 篇原创文章 · 获赞 116 · 访问量 33万+

猜你喜欢

转载自blog.csdn.net/u012247418/article/details/102371563
今日推荐