C语言——const

1、函数中形式参数是否采用const取决于是否要修改原始数组的值。

例子如下:

int sum(const int ar[], int n)

const并非要求原始数组要是常量,而是让该函数将传进来的原始数组当成常量不做任何修改。当函数中对原始数组进行修改时,就会报错。

若是希望通过该函数对原始数组进行修改,就不需要加const。如下:

int sum(int ar[], int n)

此外,int sum(int ar[], int n)与void sum(int ar[], int n)区别在于,是否有采用return机制,即是否有返回值。

2、const数组、const指针、指向const的指针

(1)const数组:const int days[12] 

#define months 12

const int days[months] = {31,28,31,30,31,30,31,31,30,31,30,31};

(2)const指针:const double *pt

double rates[3] = {10,12.2,14.5};

const double locked[3] = {11.0, 12.2, 13.3};

const double *pt = rates;

*pt = 5;    //不允许

pt = &rates[2];    //不允许

pt = locked;    //不允许

rates[0] = 5;

(3)指向const的指针:double * const pt

double rates[3] = {10,12.2,14.5};

double * const pt = rates;

pt = &rates[2];    //不允许

*pt = 5;

最后,const指针与指向const的指针可以结合使用,表示该指针既不能修改其指向的地址,也不能修改其指向地址上的值。

const double * const pt;

相关推荐

  1. C语言——const函数

    2024-04-26 10:38:05       40 阅读
  2. C语言——const

    2024-04-26 10:38:05       11 阅读
  3. C&C++语言define和const区别

    2024-04-26 10:38:05       30 阅读
  4. C 语言中的 const 关键字详解

    2024-04-26 10:38:05       27 阅读
  5. C语言如何⽤ const 控制指针?

    2024-04-26 10:38:05       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-26 10:38:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-26 10:38:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-26 10:38:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-26 10:38:05       20 阅读

热门阅读

  1. Python类方法装饰器

    2024-04-26 10:38:05       13 阅读
  2. 若依-禁用本地定时任务

    2024-04-26 10:38:05       17 阅读
  3. HTML中datalist的用法

    2024-04-26 10:38:05       12 阅读
  4. 2014NOIP普及组真题 2. 比例简化

    2024-04-26 10:38:05       12 阅读
  5. 采用状态转移矩阵方式的快速哈夫曼解码算法

    2024-04-26 10:38:05       14 阅读
  6. 【QT进阶】Qt线程与并发之QtConcurrent的简单介绍

    2024-04-26 10:38:05       15 阅读
  7. DDD领域驱动的核心概念

    2024-04-26 10:38:05       12 阅读
  8. 制作 m 束花所需的最少天数

    2024-04-26 10:38:05       12 阅读