1.数组
1.1一维数组
注意:
1.数组长度和值的内容,总得确定一个;没有数组长度,得有值;没有值,得有数组长度;
2.打印数组名,只能打印数组中第一位的内存地址;
3.数组中每一位的地址差(int,4)的字节。
4.相当于常量,给数组划分好内存地址,不能改变常量。
#include <iostream>
using namespace std;
int main()
{
int x[] = {1,2,3};
int y[5] = {1,2,3,4};
int z[10];
cout << "x : " << x[0] << endl;
cout << "y : " << y[1] << endl;
cout << "z : " << (long long)z << endl;
cout << "z : " << (long long)&z[1] << endl;
cout << "sizeof y : " << sizeof(y) << endl;
cout << "sizeof z : " << sizeof(z) << endl;
return 0;
}
冒泡排序:
#include <iostream>
using namespace std;
int main()
{
int arr[] = {4,26,86,0,552,7,1,32,935};
int tmp, r;
int n = sizeof(arr) / sizeof(arr[0]);
for ( int i = 0; i < n; i++)
{
int count = n;
for (int l = 0; l < n-1; l++)
{
r = l + 1;
if (arr[l] > arr[r])
{
tmp = arr[l];
arr[l] = arr[r];
arr[r] = tmp;
count--;
}
}
if (count == n)
{
break;
}
}
for (int i = 0; i < n; i++)
{
cout << arr[i] << " ";
}
return 0;
}
1.2二维数组
有四种可以定义的方式;要注意最好使用第三种方式,全面的表达二维数组;
#include <iostream>
using namespace std;
void print(int matrix[][2], const int rows)
{
cout << "*********"<<endl;
cout << "sizeof matrix is : " << sizeof(matrix) <<endl;
int m = rows;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < 2; j++)
{
cout << matrix[i][j] << " ";
}
cout << "\n";
}
}
int main()
{
int matrix1[3][2];
int matrix2[][2] = {
{1, 2},
{2, 4}
};
int matrix3[3][2] = {
{1, 2},
{2, 3},
{3, 4}
};
int matrix4[3][2] = {1, 3, 4, 5, 7, 7};
print(matrix1, 3);
cout << "sizeof matrix is : " << sizeof(matrix1) <<endl;
print(matrix2, 2);
print(matrix3, 3);
print(matrix4, 3);
return 0;
}
这里面不像python一样,函数中存在警告,具体原因后面应该会知道;
2.函数
2.1定义
1.函数返回类型
2.函数名
3.参数表列
4.函数体语句
5.return表达式
#include <iostream>
using namespace std;
int add(int a, int b)
{
return a + b;
}
int main()
{
int a, b;
cin >> a;
cin >> b;
cout << "a : " << a << " | b is : " << b << endl;
int c = add(a, b);
cout << "sum is : " << c << endl;
return 0;
}
2.2函数的调用与值传递
与python一样:
1.实参传入,转化成函数中的形参;
2.形参改变,实参不变;因为参数传入的时候,把值赋给新的内存地址;
2.3函数的分文件编写
2.3.1对于新手来说,vscode编写比较困难;
1.首先在当前目录下创建src和include文件夹,里面分别放函数和头文件。
2.include中的vs.h头文件相当于python的__init__.py记录函数的实例;
#include <iostream>
using namespace std;
int add(int a, int b, int c);
3.src中的vs.cpp相当于python中函数;
#include "vs.h"
int add(int a, int b, int c)
{
return (a < b) ? b : c;
}
4.修改.vscode文件夹内两个json文件。
对于第一个json文件需要添加,相当于告诉程序,需要增加头文件夹的地址。
对于第二个json文件需要添加,把头文件和函数都加进文件夹内;
2.3.2使用vs2022版编写,简单多了
不同的文件放进不同的文件夹中(.h放进头文件中,.cpp放进源文件中)
编写步骤可分为以下操作,学到后面应该可以简化步骤
1.在头文件中添加新的swap.h,相对于python的__init__文件
2.在源文件中添加swap.cpp函数文件,首先要和头文件进行链接,其次编写函数主体
3.在源文件中使用函数,编写hanshu.cpp文件,也要和头文件进行链接。