精华内容
下载资源
问答
  • 用常指针指向常变量实际上,C++规定只能用指向常变量的指针指向常变量,普通指针指向它就会报错,原因也很容易理解,我们用普通指针指向常变量之后,有可能就会进行改变常变量数值的操作,这样做是不被允许的。...
  • 常变量

    千次阅读 2017-12-04 22:58:18
    (1)定义常变量,只读变量,不能写;如:const int a=100.定义常变量时必须初始化。 (2)类型对于const透明。即const int a=100等价于 int const a=100 (3)const直接修饰部分,不能做左值,不能修改。co

    1、左值与右值

    a=10;//a为左值,只有写权限,在赋值号左边。其他为右值

    b=a;//a为右值,读权限

    2、const的作用

    (1)定义常变量,只读变量,不能写;如:const int a=100.定义常变量时必须初始化。

    (2)类型对于const透明。即const int  a=100等价于 int const a=100

    (3)const直接修饰部分,不能做左值,不能修改。const int a=100;a=200//error,a做了左值,所以错误

    (4)权限只能同等传递或者缩小,不能扩大。

    const int *p1=&a;//等价于   int const *p1=&a;

    p1=&b;//ok

    *p1=20;//error,const修饰*,所以不能解引用

    int * const p2=&a;

    p2=&b;//error,const修饰p2,p2的值不能修改

    *p2=100;//ok,不修饰*,所以可以解引用

    const int * const p3=&a

    p3=&b;//error,第二个const 使p3的值不能被修改

    *p3=100;//error,第一个const使p3不能解引用

    char *Mystrcpy(char* des,const cha * src)//功能字符串拷贝,返回值为指针,形参为指针

    {

    char *p=*des;

    while(*des++ = *src++);

    return p;

    }

    3、断言assert

    使用函数assert();时先调用#include<assert.h>如:

    #include<assert.h>

    assert(b!=0)//断言b不等于0,但b不等于0时对函数无影响,当b等于0时,程序崩溃,并报告出错位置

    发布程序时,用release,此时assert函数失效,如遇到错误,程序崩溃,用户界面会显示遇到未知错误;

    而写程序时用debug

    4、计算字符串有效长度

    int Mystrlen(const char *str)//不允许解引用,即不允许修改原来的字符串中的内容

    {

    int i=0;

    while(str[i++] != '\0');

    return i-1;

    }

    int Mystrlen(const char *str)//不允许解引用,即不允许修改原来的字符串中的内容

    {

    int i=0;

    for(;str[i] != '\0';i++);

    return i-1;

    }




    展开全文
  • C语言常量与常变量

    千次阅读 2018-12-13 10:51:09
    常量:使用#define定义常量,常量名大写,定义时无需指定数据类型,行末没分号;...常变量:使用const定义常变量常变量名小写,定义时需指定数据类型,行末以分号结束;不允许改变值;常变量占用内存;...

    常量:使用#define定义常量,常量名大写,定义时无需指定数据类型,行末没分号;不允许改变值;常量不占用内存,只是一个临时符号,代表一个值,预编译时会进行字符替换(将临时符号替换成对应的值),替换完临时符号就不存在了;

    常变量:使用const定义常变量,常变量名小写,定义时需指定数据类型,行末以分号结束;不允许改变值;常变量占用内存;

    展开全文
  • 区别:符号变量和常变量

    千次阅读 2019-01-11 20:27:10
    符号变量: 1.用 #define指令定义  #define PRICE 35 ...常变量: 1.用const定义 const int b=45; 2.具有变量的特征 3.具有类型,在内存中存在以它命名的存储单元         ...

    符号变量:

    1.用 #define指令定义 

    #define PRICE 35

    2.符号变量只是用一个符号代替字符串,在预编译时把所有符号变量替换为所制定的字符串

    3.没有类型,在内存中并不存在以符号变量命名的存储单元

    常变量:

    1.用const定义

    const int b=45;

    2.具有变量的特征

    3.具有类型,在内存中存在以它命名的存储单元

     

     

     

     

    关于 typeid.name(),可点击 https://blog.csdn.net/Koyurion/article/details/86315532

     

     

     

     

     

     

    展开全文
  • 常量和常变量

    2019-09-30 13:41:26
    2. 常变量 常变量的值在初始化后不能改变,这个特性是在高级语言这一层上定义的。由编译器所做的语法检查进行保障,可以通过特殊的途径对它进行修改。 #include"pch.h" #include<iostream> using namespace...

    1. 常量

    和指令一起存储在代码区,不能被寻址

    2. 常变量

    常变量的值在初始化后不能改变,这个特性是在高级语言这一层上定义的。由编译器所做的语法检查进行保障,可以通过特殊的途径对它进行修改。

    #include"pch.h"
    #include<iostream>
    using namespace std;
    int main() {
    	const int i = 5;
    	int* ptr;
    	void* p = (void*)&i;
    	ptr = (int*)p;
    	(*ptr)++;
    	cout << *ptr << " " << i<<endl;
    	cout << ptr << " " << &i;
    }

    输出结果:

    问题:ptr 和 i 指向同一块内存地址空间,我们修改了*ptr,而输出的 i 却没有变。

    原因:编译器可能会对const变量进行优化,将const变量放在编辑器的符号表中,让取值操作变得更有效率。所以实际上我们确实改变了 i 所对应的内存空间地址,但是使用它的时候用的是符号表中的值。

    解决方案:

    使用valatile,这样每次访问变量都会重新去存放变量的内存地址中取值。

    展开全文
  • 定义常变量 :const float PI=3.1415926; 符号常量和常变量的区别: 常变量:具有变量的特征是存在一个以变量名命名的存储单元,在一般情况下,存储单元中的内容是可以变化的。而对于常变量,在变量的基础上加了...
  •   今天在写函数时,对函数的形参:“常变量引用”=“非常变量”(√)、“非常变量引用”=“常变量”(×)、…有点懵逼。。。所以,特别做了调试以彻底弄清这些问题!文章目录如下: 目录1 C++const常变量与引用...
  • 一 指向变量指针 形式: 类型名 * const 指针变量名 将指针变量声明为const型,这样指针变量始终保持为初值,不能改变,即其指向不能改变 例 #include #include int main() { char cBuff1[100] = "1234...
  • 常量 常量分为数值型常量(即常数...const定义的常变量常变量具有变量的特征,它具有类型,在内存中存在着以它命名的存储单元,可以用sizeof运算符测出其长度。 与一般变量唯一的不同是指定变量的值不能改变。
  • 一种基于常变量异步拷贝的神经网络编程模型
  • 常量和常变量(const)

    千次阅读 2017-09-18 02:19:46
    常量和常变量const
  • 1.在C89标准下的const const 修饰的类型是一个常变量,不能作为数组的下标。常变量不能作为左值。 如: const int a = 10; int b = a;...//其编译的过程和一般变量编译的过程相同...(2)常变量:退化为常变量的情况...
  • C/C++中宏定义和常变量的区别

    千次阅读 2016-09-20 11:39:38
    主要介绍宏定义和常变量的区别,以及顺便介绍了常引用,还有char *const p、char const *p和 const char *p的区别。
  • 符号常量和常变量的区别

    千次阅读 2018-03-13 15:21:33
    //常变量二者的性质不同,#define是预编译指令,在预编译后,符号常量就就不存在了(全部置换成3.1415),对符号常量的名字是不分配储存单元的。而常变量要占用存储单元,有变量值,该值不能改变。...
  • Const(定义常变量)的四个重要性质

    千次阅读 2018-04-16 22:43:40
    这时变量a被称为左值,它具有可以被赋值和读取两种属性倘若定义常变量a,试着重新赋值和读取:可以看到编译器报错,const将变量a变成了右值,即只可被读取,不能写入(重新赋值)2. 数据类型对于const而言是透明的...
  • C++ 文字常量与常变量

    千次阅读 2015-06-10 22:56:58
    在C/C++编程时,经常遇到以下几个概念:常量、文字常量、符号常量、字面常量、常变量、字符串常量和字符常量,网上博客资料也是千篇千律,不尽相同,弄得大家云里雾里。本文将尝试为大家捋清楚以上易混淆概念的定义...
  • C++常变量

    2014-10-12 13:37:54
    在定义变量时,如果加上关键字const,则变量的值在程序运行期间不能改变,这种变量称为常变量(constant variable)。例如:  const int a=3; //用const来声明这种变量的值不能改变,指定其值始终为3  在定义...
  • C语言中const修饰的常变量可以修改吗

    千次阅读 多人点赞 2018-03-30 11:19:33
    const关键字是C语言中很重要的一个关键字,被它”修饰“的变量我们称为常变量。那这个常变量的值到底能不能修改呢?我们先来看一下变量名与变量之间的关系:变量:用来标识(identify)一块内存区域,这块区域的值一般...
  • 刚接触到指针时,关于指向变量的常指针和指向常变量的指针容易混淆,所以整理下,希望能够帮助自己也帮助到大家。 常(量)指针 常指针就是我们说的指向常量的指针,顾名思义,它是用来指向常量的。 用常指针指向...
  • 常量、变量和常变量

    千次阅读 2012-02-07 19:59:23
    答案有两种,一种是常量,一种是变量。 常量 常量就是在程序运行过程中其值不能改变的量,我们任意说一个数字、一个单词都是一个常量,例如3就是常量、apple也是常量,常量就相当于数学上常数的概念,只不过计算机...
  • 学习语言,首先等知晓所敲下的代码做了什么,而代码中最重要的就是变量与常量,这些构成函数,产生功效。 首先得清楚以下几个知识点(或者说专有名词) 1.生命周期:变量的作用范围,类似生物的存活周期,对变量的...
  • · 用const修饰的声明数据成员称为数据成员 · 用const修饰的声明成员函数称为成员函数 · 用const修饰的定义对象称为对象 变量或对象被const修饰后其值不能被更新。因此被const修饰的变量或对象必须要进行...
  • C++之常变量指针与普通变量指针

    千次阅读 2014-12-08 23:08:43
    1、常变量指针可以指向普通变量和常变量,但是都不能改变所指向的变量的值 2、普通变量指针只能指向普通变量。 3、当函数形参与实参都为指针时,规则也一样: 1)形参为普通变量指针,实参为常变量指针,则普通...
  • 【C/C++】符号常量 常变量

    千次阅读 2018-07-23 17:10:09
    在数据区开辟一个值为5的无名整型常变量,然后将引用r与这个整型常变量进行绑定。 const引用不可寻址的常量,编译期会生成一个临时量。     3.符号常量和常变量比较 定义符号常量:#define PI 3....
  • 如图,能和我解释一下吗?为什么直接赋值不可以,而用指针却可以?![图片](https://img-ask.csdn.net/upload/201605/11/1462956665_44723.png)
  • 一:常变量  在定义变量时,如果加上关键字const,则变量的值在运行期间不能改变,这种变量就称为常变量(constant variable),又称只读变量,在定义常变量时必须同时对它进行初始化(即指定其值)此后它的值不能...
  • C 语言中符号常量与常变量的区别

    千次阅读 2013-10-21 13:33:42
    符号常量 pi 和常变量 PI 都代表3.1415926,在程序中都能使用,只是二者的性质有所差别,定义符号常量使用#define 指令,是预编译指令,只是使用一个符号常量代表一个字符串,在预编译是仅仅进行字符替换,子啊预...
  • c++ 中定义引用变量时必须同时初始化,所以只能是int a=10;int &b=a;的形式出现。所以一直觉得c++的类中是不能有引用成员变量的。 最近才发现类中是可以有引用成员变量的,只是它的初始化相比一般的引用类型变量...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 343,893
精华内容 137,557
关键字:

常变量