2022.4.27 C++基础入门——初始化、输入和输出和const应用

23 篇文章 0 订阅

1. 初始化

C中的初始化写法:

变量初始化:int a = 10 ;
数组初始化:
int arr[5] = {1, 2, 3, 4, 5} ;
int arr[ ]={1, 2, 3, 4, 5} ;
int arr[5]={ }; 不给值,默认为0//
运行结果如下:
在这里插入图片描述

C++中的初始化写法:*

变量初始化:
int a = 10 ;
int a(10) ;
int a{10} ;
运行如下:
在这里插入图片描述
数组初始化:
int arr[5] = {1, 2, 3, 4, 5} ;
int arr[5]{1, 2, 3, 4, 5} ;
int arr[ ]{1, 2, 3, 4, 5} ;
运行结果如下:
在这里插入图片描述
注意:可以看出来,在C++中无论是变量的初始化还是数组的初始化,是比C中丰富的。

2. 输入和输出

在C中输入和输出
在这里插入图片描述
在C++中输入和输出
在这里插入图片描述
可以看出,C++的输入和输出和C是完全不同的。
C++中输入和输出命令:
// cin ——输入流对象(键盘)
// cout ——输出流对象(控制台-屏幕)
// >>——提取符
// <<——插入符
// endl——换行符(相当于“\n”)

注意:以下错误使用方式
cin >> a,ch ;
cout << a,ch ;
总结:使用cout标准输出(控制台)和cin标准输入(键盘)时,必须包含头文件以及std标准命名空间。

3. const 与指针

const在C和C++中的区别

在这里插入图片描述
在这里插入图片描述
对比C和C++运行结果,可以发现,在C中,ar[n]中n以变量为主,这种方式是错误的,因为数组的长度要求是常量;反而C++中可以运行出来结果,因为C++中是将const int n中的n以常量为主,因此,ar[n]是可以执行的。

const与指针的关系

    int a = 10, b = 20;
	int* p1 = &a;//1
	int const* p2 = &a;//2

	int* const p3 = &a;//3
	const int* const p4 = &a;//4

1的指针p1是一个普通指针,指向a的地址;2的指针p2指向为常性(解引用为常性),指向不能修改;3的指针p3自身为一个常性,自身不能修改;4的指针p4指向(解引用)和指针变量自身都是一个常性,不能修改。

    const int a = 10;
	int* p1 = &a;//1
	const int* p2 = &a;//2
	int* const p3 = &a;//3
	const int* const *p4 = &a;//4
	int* p5 = (int*)&a;//5

分析:
1——左边为int * 类型,右边为const int *类型,因此1是错误的;
2——左边为const int *类型,右边为const int *类型,因此2是正确的;
3——左边为int *const 类型,右边为const int *类型,因此3是错误的;
4——左边为const int *const类型,右边为const int *类型,能力强的指针可以赋予给能力收缩的指针,因此4是正确的;
5——左边为int *类型,右边为int *类型,因此5是正确的,但是5是通过强转之后得到的int *类型,不安全。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值