C++初始化、输入输出、const和指针

本文探讨了C/C++中的变量初始化,特别关注了常量const的应用,以及如何正确处理数组初始化。讲解了标准输入输出的使用方法,并介绍了const在两种语言中的不同角色。此外,还解析了const与指针的关系,包括常变量、常指针和指向常量的指针。
摘要由CSDN通过智能技术生成

初始化列表

对变量的初始化定义

对数组的初始化定义

对变量定义应当使用{},使用()会出现未被定义情况。

 如下当引用主函数之后函数时会出现报错,

这时添加一个函数声明就能够成功引用,这里的int a()会当作未调用的函数声明。

输入输出

c语言输入输出

 c++输入输出

错误用法:只识别了第一个

 总结:


     使用cout标准输出(控制台)和cin标准输入(键盘)时,必须包含< iostream >头文件以及std标准命名空间。endl 相当于'n';

字符串输出

#include<iostream>
using namespace std;
int main()
{
    const int n = 128;
    char str[n];
    cin >> str; // 输入 H he11o this
    cout << str << endl; //H hello
    cin.getline(str, n); //H hel1o this
    cout << str << endl;
    // H hello this
    cin.getline(str, n, '#'); //H hello this # go to
    cout << str << endl;
    // yhp this;
    return 0;
}

const在c和c++中的区别

c语言中以变量为主,而在c++语言中以常量为主。

在这里将.cpp文件更换为.c文件时会出现编译错误。

将文件后缀名更换为.cpp后就可以编译通过。

const和指针的关系(如下为常见的几种关系)

 常变量与指针的关系

int main()
{
   const int a = 10;
   int* p1 = &a; // error;常变量不能被修改,会出现报错
   const int* p2 = &a;//ok;指向转化为常性即可
   int * const p3 = &a; // error;只是把p3定义为a的地址(自身是常性),指向并不是
   const int * const *p4 = &a;//OK,自身和指向都是常性
   int* p5 = (int*)&a; // ok 虽然编译成功但还是不安全 会出现程序的二次定义

  return 0;
}

同类型指针的赋值

如下,均可编译通过

 总结来说就是能力强的指针可以赋值给能力收缩的指针,权限可以缩小但不能放大。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值