码迷,mamicode.com
首页 > 其他好文 > 详细

const in C

时间:2019-12-29 23:59:23      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:意思   错误   oid   地方   传递   使用   改变   const   数组   

void test_const_value()
{
    int n = 1;
    int m = 10;
    // ptr1 和 ptr2的声明时一个意思
    const int *ptr1 = &n;
    int const *ptr2 = &n;
    int *const ptr3 = &n;
    // ptr4 和 ptr5的声明时一个意思
    const int *const ptr4 = &n;
    const int const *ptr5 = &n;

    // 下面三个报的错都是一样的:表达式必须是可以修改的左值
    // *ptr1 = 100; 错误 不能修改指向的元素的值
    // *ptr2 = 100; 错误同上 不能修改 其实ptr1和ptr2是一样的意思
    // ptr3 = &m; 错误 指向不能变
    *ptr3 = 100; //正确 指向不能变 但是指向的地方的内容不能变
    // ptr4 = &m;
    // *ptr4 = m;
}

void test_const_array(const int a[],int num)
{
    // a[0] = 10; 错误 用const修饰的数组不可更改内容
    // 一般传递数组时 如果不希望数组被改变 就要使用const修饰 否则有被修改的风险
}

const in C

标签:意思   错误   oid   地方   传递   使用   改变   const   数组   

原文地址:https://www.cnblogs.com/yhxcs/p/12117080.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!