C语言const在不同位置的作用,const的用法及它在C语言和C++中的不同

(1)可以定义const常量。

(2)Const可以修饰函数的参数和返回值,甚至定义体。被const修饰的东西都受到强制保护。

(3)Const修饰成员函数时,用于成员函数前面,则返回值不能作为左值。用在后面,则该成员函数的数据成员不能改变。

(4)Const修饰数据成员时,必须使用冒号语法。

在C程序中,const主要有定义变量、修饰函数参数、修饰函数返回值。

在C++程序中,还可以修饰函数的定义体,定义类中成员函数为恒态函数,既不改变类中的数据成员。

在数组定义维数N时,只能用const和define来定义N:

如:

const int N =10;

char a[N];

#define N 10

char a[10];

此时N作为数组的维数,只能作为常量。Int N= 10; char a[N];是错误的,因为此时N为变量。

●const与#define的不同?

(1)const常量有数据类型,宏常量没有。

(2)编译器对const可以进行类型安全性检查,define只能进行字符替换。

(3)有些集成化调试工具可以对const常量进行调试,但不能对宏常量进行调试。

在C++程序中只使用const常量而不使用宏常量。

(4)const修饰成员变量时,成员变量的初始化必须在构造函数的初始化列表(冒号语法)中进行。

C语言和C++中的字符串(string)

知识内容: 1.C\C++字符串简述 2.C字符串相关操作 3.C++ string类相关操作 一.C\C++字符串简述 1.C语言字符串 C语言字符串是字符的数组.单字节字符串顺序存放各个字符串,并 ...

C语言和C++中动态申请内存

在C语言和C++的动态内存的使用方法是不同的,在C语言中要使用动态内存要包含一个头文件即 #include 或者是#include  ...

浅谈C语言和C++中“类”的区别

在C语言中,没有“类”的概念,但是可以由结构体struct构造出我们所需要的数据类型,struct可以组合不同的数据类型,可以看作是C语言中的“类”. 下面是C语言中的结构体的实例. #include ...

浅谈c语言和c++中struct的区别

今天做二叉树的时候,发现利用结构体有点乱,不知道怎么回事,我之前知道c语言中声明一个结构体变量时需要通过 struct 结构体名 变量名,而在c++中,可以不要struct,由于可以利用typedef ...

C/C++语言中const的用法

1. const 在C和C++中的区别     C++中的const正常情况下是看成编译期的常量,编译器并不为const分配空间,只是在编译的时候将期值保存在名字表中,并在适当的时候折合在代码中. 所 ...

const的用法,特别是用在函数前面与后面的区别!

const的用法,特别是用在函数后面 在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针.可以改变this所指向的值,但不能改变 this所保存的地址. 在 const ...

ECMAScript 6 入门之let和const的用法

1.let的用法 1. //查看js的引入路径是否正确 console.log("1:",1) 2. var a=1; let b=2; console.log("a:& ...

let 与 const 的用法

let 与 const 的用法 let 用来声明变量,并且会在当前作用域形成 代码块 conts 用来声明常量,所谓常量就是物理指针不可以更改的变量. 所谓代码块,最简单的做法就是(这个 {} 就是一 ...

随机推荐

记录PHP的超全局变量$_SERVER

$_SERVER是PHP中十分实用的超全局变量,在开发可移植的网站的时候会变得很有用. 下面我记录一下我自己常用到的几个变量 1.$_SERVER['SERVER_NAME']:记录了网站的域名. 2 ...

Uva 11754 Code Feat

题意概述: 有一个正整数$N$满足$C$个条件,每个条件都形如“它除以$X$的余数在集合$\{Y_1, Y_2, ..., Y_k\}$中”,所有条件中的$X$两两互质, 你的任务是找出最小的S个解. ...

windows下回车与换行符

windows下回车与换行符 从键盘输入的数据一般是ASCII码,也就是文本文件,在送到计算机内存时,回车和换行符转换成一个换行符(也就是说回车和换行符在windows文本中是两个字符),再从内存中以 ...

vijos p1193 扫雷

描述 相信大家都玩过扫雷的游戏.那是在一个n*n的矩阵里面有一些雷,要你根据一些信息找出雷来.万圣节到了,“余”任过流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里 ...

转:web_submit_data和web_submit_form的差别

在LoadRunner中有两个常用函数:Web_submit_form和Web_submit_data,在群里有人问这两个函数有什么区别.为什么会有两个不同却功能相似的函数.区别在哪里. 首先,从工具 ...

AOP 面向切面的编程

一.面向切面的编程需求的产生 代码混乱:越来越多的非业务需求(日志和验证等)加入后,原有的业务方法急剧膨胀.每个方法在处理核心逻辑的同时还必须兼顾其他多个关注点. 代码分散: 以日志需求为例,只是为了 ...

[SF] Symfony 组件 BrowserKit 原理

直接看下面的注释中针对每一个文件的作用说明. <?php /** * BrowserKit - Make internal requests to your application. * * I ...

jQuery源码中的&OpenCurlyDoubleQuote;new jQuery&period;fn&period;init&lpar;&rpar;”什么意思?

所有文章搬运自我的个人主页:sheilasun.me 引子 最近打算试试看看jQuery的源码,刚开个头就卡住了.无论如何都理解不了jQuery源码入口部分中的 return new jQuery.f ...

PR合并回写

) as LGORT ,'SAPRFC' as ERNAM,out_pr.due_datetime,out_pr.so_id,out_pr.so_lineid,out_pr.sobsl from V_ ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值