C++基础学习
记载了C++与C语言不同的部分。
1.字符串型
1)C语言风格字符串
char str1[]="hello world";
2)C++语言风格字符串
string str1 ="hello world";
//需加入头文件 #include <string> vs2019不用
2.布尔类型
布尔类型只要非0的值都为真
bool类型只有两种 ,占一个字节大小。
- true——真(本质为1)
- false——假(本质为0)
创建方式:
bool flag=true;
3.数据的输入
//各种基本类型通用
cin>>a; //输入a
cout<<"输出:"<< a <<endl; //输出a
4.运算符(略)
此处和c语言一样,等闲了再加吧
5.数组
这里和C语言几乎一模一样,不再赘述。
1)一维数组
一维数组名称用途:
-
可以统计整个数组在内存中的长度
sizeof(arr);
-
可以获取数组在内存中的首地址
cout<<arr<<endl;
2)二维数组
二维数组名称用途:和一维数组一样
6.函数
1)函数的分文件编写
可以让代码结构更清晰
步骤:
1.创建后缀名为.h的头文件
2. 创建后缀名为.cpp的源文件
3. 在头文件中写函数的声明
4. 在源文件中写函数的定义
创建.h文件:在解决方案资源管理器中右击头文件->添加->新建项->cpp文件 (名称后缀为.h)。test.h.
创建源文件:同样的方法,右击源文件。test.cpp
注意:
- 将函数定义放入test.cpp文件中后需要在开头引头文件test.h
#include"test.h" //双引号表示是自定义的头文件。
void sum(int a,int b)
{
.........
}
- 在test.h的头文件中还要加入主程序中的头文件(搭建框架)
#include<iostream>
using namespace std;
void sum (int a,int b);
- 如果在主程序中想调用函数只需要引入自定义的头文件即可
....
#include"test.h"
a=sum(c,d);
.....
7.指针
1)指针所占内存空间
在32位操作系统下,指针是占4个字节空间大小,不管是什么数据类型。
在64位操作系统下,指针占8个字节空间大小。
2)野指针
定义:指针变量指向非法的内存空间
int *p=(int *)0x1100;
cout<<*p<<endl;//访问野指针报错
空指针和野指针都不是我们申请的空间,因此不要访问
3)const修饰指针
1.const修饰指针 (常量指针)
const int *p=&a;
//指针指向的值不可以改,指针的指向可以改
2.const 修饰常量 (指针常量)
int *const p2=&a;
//指针的指向不可以改,指针指向的值可以改
3.const修饰指针和常量
const int * const p3=&a;
//指针的指向和值都不可以修改
const右侧紧跟着是指针就是常量指针,是常量就是指针常量
4)小知识点——随机数的生成
//包含头文件
#include<ctime>
srand((unsigned int)time(NULL));//随机数种子
int random =rand()%60; //生成0~59范围的随机数
int random =rand()%60+40;//生成40~99范围的随机数
int random =rand()%61+40;//生成40~100范围的随机数