首页 > 编程语言 >C和C++的一处小知识点(小坑)

C和C++的一处小知识点(小坑)

时间:2022-08-21 23:55:24浏览次数:123  
标签:知识点 const 变量 int C++ printf 小坑

在C语言中

void main(){
    const int i = 0;
    int *j = (int *)&i;
    *j = 1;
    printf("%d,%d", i, *j);
    system("pause");
}
结果输出为1,1 在C++中
#include<iostream>
using namespace std;
int main(void){
    const int i=0;
    int *j = (int *)&i;
    *j = 1;
    printf("%d,%d", i, *j);
    system("pause");
    return 0;
}
结果输出为0,1   为什么同样的代码C和C++输出结果不一致? 原因:   C语言const变量在运行时改变了是可以再次读出改变后的值的;   C++中const变量在编译的时候已经确定了;   同一个地址,即同一个变量。C++中const变量确实别改变了。i的值没有更新而已。

标签:知识点,const,变量,int,C++,printf,小坑
From: https://www.cnblogs.com/yinguojin/p/16611453.html

相关文章

  • C++进程空间管理
     一、进程空间简介——参考博客1.  进程空间是一个虚拟空间,是逻辑上的空间,32位系统中,进程空间共4GB。该空间中的地址通过页表映射到实际内存的物理地址,虚拟的高地......
  • c++ RTTI Runtime Type Identification 运行阶段类型识别
    NoVirtualBase*NvirBase=newNovirtualDerivd();NvirBase->print();//autond1=dynamic_cast<NovirtualDerivd*>(NvirBase);//必须有虚方法auton......
  • C++反序列化--一种基于class infomation反射库的反序列化数据结构
    序列化与反序列化概念:将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的另一台计算机上以实现通讯。这个将程序数据转化成能被存储并传输的格式的......
  • 【C++】 基本知识点
     strcmp()函数用法及其详解原型:intstrcmp(constchar*s1,constchar*s2);头文件:#include<string.h>功能:用来比较两个字符串参数:s1、s2为两个进行比较的字符串,......
  • c++ 友元类 友元类方法
    一、友元类#pragmaonce#include"Tv.h"classRemote{public:voidchanDown(Tv&tv);};#pragmaonceclassTv{public:friendclassRemote;voidchandown......
  • C++指针
    两种声明方式int*p=newint;*p=1000;inta=1000;int*p=&a;数组名和指针的区别指针的值可以修改,数组名是常量。pointerName=pointerName+1;//v......
  • C++之vector
     一、标准库函数1.构造数组——参考博客一维数组构造://构造一维数组vector<int>vec(n);//n为vec长度,默认所有值为0vector<int>vec(n,1);......
  • 我的python基础知识点
    0、使用#注释,因为python是脚本语言批量赋值a,b=1,2 //a=1,b=2批量赋值还可以使用序列进行赋值a,b=[1,2] //a=1,b=21、在python中,"helloworld"*3//表示3个这个字符......
  • 360se_getdbkey_c++
    关联:360安全浏览器历史记录、收藏夹  下载链接:https://files.cnblogs.com/files/DirWang/360se_getdbkey.zip?t=1661006095......
  • c++ lambda学习举例
    #include<iostream>#include<vector>#include<algorithm>#include<cmath>#include<ctime>usingstd::cout;usingstd::vector;usingstd::srand;usingstd::time......