C++
内存分区模型
程序运行前
全局区和代码区
只有局部不在全局区
程序运行后
数据类型
cout << "\n" << endl; //换行
while(*q!='\0'){ //字符串结束标志
// C风格字符串
char str1[] = "hello world";
// C++风格字符串
string str = "hello world";
//只有整型变量可以进行取模运算 %
//三目运算符,如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
c = a > b ? a : b;
循环语句
//do while循环语句
//注意1、与while的区别在于==do...while会先执行一次循环语句==,再判断循环条件
do
{
cout << num << endl;
num++;
} while (num < 10);
//switch语句
//注意1:switch语句中表达式类型只能是整型或者字符型switch (score)
{
case 9:
cout << "经典" << endl;
break;
}
for循环语句
跳转语句
break语句,跳出最近的内层循环语句
continue语句,跳过本次循环中余下尚未执行的语句,继续执行下一次循环
指针
空指针:指针变量指向内存中编号为0的空间
内存编号0 ~255为系统占用内存,不允许用户访问
//野指针
int * p = (int *)0x1100;
//就是在数字前面加入(int *)强行把他转换成一个地址
const紧挨指针,常量指针,指向可以改,指向的值不可以改变。
不想修改实参,就用值传递,如果想修改实参,就用地址传递
当数组名传入到函数作为参数时,被退化为指向首元素的指针
指针、数组、函数
void bubbleSort(int * arr, int len) //int * arr 也可以写为int arr[]
bubbleSort(arr, len);
结构体指针
结构体指针 利用操作符 ->可以通过结构体指针访问结构体属性
内存分区模型
全局区:存放全局变量和常量以及静态变量
栈区:存放函数的参数值,局部变量和常量
工具
vs code
cin命令 无法在终端输入,勾选Run In Terminal和Ignore Selection。