变量存在的意义:方便管理内存。
变量创建的语法:数据类型 变量名=变量的初始值;
int a = 10;
#define 宏常量
通常在文件上方定义,表示一个常量
#const修饰的变量const 数据类型 变量名 = 常量值;
通常在变量定义前面加关键字const,修饰该变量伟常量,不可修改。
区别:define是宏定义,程序在预处理阶段将用define定义的内容进行了替换。因此程序运行时,常量表中并没有用define定义的常量,系统不为它分配内存。const定义的常量,在程序运行时在常量表中,系统为它分配内存。
C++ 关键字
标识符命名规则
作用:C++规定给标识符(变量,常量)命名时,有自己的规则。
1、标识符不能是关键字
2、标识符只能由字母、数字、下划线组成
3、第一个字符必须伟字母或下划线
4、标识符中字母区分大小写
#数据类型
存在的意义:给变量分配一个合适的内存空间。
sizeof关键字
//可以利用sizeof求出数据类型占用的内存大小
//语法:sizeof(数据类型、变量)
实型
默认输出一个小数,只会输出六个有效数字
float f2 = 3e2;
cout << f2<<endl; 300
float f3 = 3e-2;
cout << f3; 0.3
1、单精度
2、双精度
字符型
C/C++字符变量只存一个字节。
字符型变量并不是把字符本身存到内存中,而是存的ascii值。
转义字符
\加参数
字符串型
C语言风格字符串
char 变量名[] = “字符串的值";
C++语言风格字符串
String 变量名=”字符串值“;
布尔类型
true=1;
false=0;
只占用1个字节。
bool只要是非0都为真。
三目运算符。
创建三个变量abc
将a和b做比较,将变量打的值赋值给C。
int a = 10;
int b = 20;
int c = 30;
c=(a > b ? a : b);
switch语句
缺点:判断时候只能是整形或字符型,不可以是一个区间。
优点:结构清晰,执行效率高。
一维数组创建
//数组类型 数组名[数组长度];
//数组类型 数组名[数组长度] = { 值1,值2,值3 };
//数组类型 数组名[] = { 值1,值2,值3 };
一维数组名称的用途:
1、可以统计整个数组在内存中的长度
2、可以获取数组中内存的首地址
cout << (int)&arr[0] << endl;
//将地址转为10进制
二维数组定义方式:
数据类型 数组名[行数][列数];
数据类型 数组名[行数][列数]={{数据1,数据2},{数据3,数据4}}
数据类型 数组名[行数][列数]={数据1,数据2,数据3,数据4};
数据类型 数组名[][列数]={数据1,数据2,数据3,数据4}
二维数组数组名
1、查看二维数组所占内存空间
2、获取二维数组的首地址
int arr[2][3] = { 1,2,3,4,5,6 };
cout << sizeof(arr)<<endl;
cout << arr << endl;
cout << sizeof(arr[0]) << endl;//一行所占的内存大小。
cout << arr[0][0] << endl;
函数
函数的声明
提前告诉编译器函数的存在,可以利用函数的声明。
函数的分文件编写
作用:让代码结构更加清晰
1、创建后缀名为.h的头文件
2、创建后缀名为.cpp的源文件
3、在头文件写函数的声明
4、在源文件中写函数的定义
指针
空指针和野指针
空指针:指针变量只想内存中编号为0的空间
用途:初始化指针变量
注意:空指针只想的内存是不可访问的。