• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 总结C语言中const关键字的使用

总结C语言中const关键字的使用

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c语言关键字const,c语言const,c语言const用法,c语言中const的用法,c语言中const等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

什么是const?

常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)

为什么引入const?

const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。

const关键字使用非常的灵活,这一点和php差别很大,php中const用来在类中定义一个常量,而在c中,const因位置不同有不同的作用,因情景不同有不同的角色,使用起来也是非常的灵活。

(1):const用来修饰普通的变量(指针变量除外)的时候,const type name 和 type const name 这两种形式是完全等价的,都表示其是常量,不能进行修改。

#include <stdio.h>
int main(){
  const int num =23;
  printf("result=%d\n",num);
  num =31;
  printf("result=%d\n",num); //报错,num是常量,不能修改
}
</div>

(2):const用来修饰指针变量的时候,分为以下四种情况

1、const type *name :这种情况下,const修饰的指针变量name所指向的type类型对象,也就是说指向的这个对象是不能进行修改的,因为其是常量,而指针变量确实可以进行修改的

#include <stdio.h>
int main(){
  int tmp = 23;
  const int *num = &tmp;
  printf("result=%d\n",*num);   
  (*num) = 24; //报错,因为指针num指向的int类型的对象是不能进行修改的
  printf("result=%d\n",*num); 
}
</div>

2、 type const *name :这种情况下,const修饰的指针变量name所指向的type类型对象,意思完全同上,只是颠倒了以下顺序。

#include <stdio.h>
int main(){
  int tmp = 23;
  int const* num = &tmp;
  printf("result=%d\n",*num);   
  (*num) = 24; //报错,因为指针num指向的int类型的对象是不能进行修改的
  printf("result=%d\n",*num); 
}
</div>

3、type * const name :这种情况下,const修饰的指针变量name,也就是说这个指针变量的值是不能进行修改的,但是指针变量所指向的对象确实可以修改的

#include <stdio.h>
int main(){
  int tmp = 100;
  int *const num = &tmp;
  printf("result=%d\n",*num);  
  int change = 23; 
  num = &change; //报错,因为指针num是不能进行修改的
  printf("result=%d\n",*num); 
}
</div>

4、const type * const name :这种情况下,const修饰的指针变量name以及指针变量name所指向的对象,也就是说这个指针变量以及这个指针变量所指向的对象都是不能进行修改的

(3):const在函数中的参数的作用:

void get_value( const int num ){
  num=23; //报错
}
</div>

调用get_value()函数的时候,传递num参数到函数,因为定义了const,所以在函数中num是不能进行修改的

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 总结C语言中const关键字的使用
  • 详解C语言中const关键字的用法

相关文章

  • 2017-05-28浅谈int8_t int64_t size_t ssize_t的相关问题(详解)
  • 2017-05-28C++模板特例化应用实例
  • 2017-05-28如何判断一个数是否为2的幂次方?若是,并判断出来是多少次方?
  • 2017-05-28探讨:将两个链表非降序合并为一个链表并依然有序的实现方法
  • 2017-05-28基于Protobuf C++ serialize到char*的实现方法分析
  • 2017-05-28大数据情况下桶排序算法的运用与C++代码实现示例
  • 2017-05-28基于对话框程序中让对话框捕获WM_KEYDOWN消息的实现方法
  • 2017-05-28wchar_t,char,string,wstring之间的相互转换
  • 2017-05-28C语言学生管理系统源码分享
  • 2017-05-28c语言 字符串转大写的简单实例

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C++ 实例之九宫格广度优先遍历
    • 深入解析Linux下\r\n的问题
    • c++中的4种类型转化方式详细解析
    • 深入c++中临时对象的析构时机的详解
    • Linux C 时间函数应用
    • string中c_str(),data(),copy(p,n)函数的用法总结
    • ZOJ 3329 One Person Game (期望DP)
    • C++三色球问题描述与算法分析
    • c++内联函数(inline)使用详解
    • 哪款C语言编译器(IDE)适合初学者?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有