7.数组动态创建和函数
- 动态创建
- 函数
动态函数
一维数组动态赋值
int* data = new int[3]; //动态分配地址 for (int i = 0; i < 3; i++) { data[i] = 1; cout << data[i] << " "; } delete[]data; //释放分配的·地址
二维数组动态分配地址
int **data = new int*[3]; //动态分配地址 for (int i = 0; i < 3; i++) // 每行地址 { data[i] = new int[3]; // 动态分配地址 } for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { data[i][j] = 1; cout << data[i][j] << " "; } cout << endl; } for (int i = 0; i < 3; i++) // 每行地址 { delete[]data[i]; //释放分配的·地址 } delete[]data; //释放分配的地址
函数
自定义函数
语法:数据类型 函数名(数据类型 参数名)
{语句内容; }
eg:
#include <iostream> using namespace std; int a = 1; // 变量定义在函数外可以全局引用 int g = 90000; void charge(int &d,int &f) // 函数功能数据交换 { int c; c = d; d = f; f = c; } int main(){ charge(a, g); // 调用函数 cout << a << " " << g; }
数据结果为:
该函数中的int &d和int&f为行参,在main函数中charge调用的是实参。
eg:
#include <iostream> using namespace std; int a = 1; // 变量定义在函数外可以全局引用 int g = 9; int add(int &d,int &f) // 函数功能数据交换 { int c; c = d+f; return c; // 返回c的值 } int main(){ cout << add(a,g); // 调用函数 }
输出结果为10,
库函数
memcmp函数
语法:memcmp(数组1,数组2,常量n)
功能:比较数组1和数组2的前n个字节的ascII码值,
当数组1< 数组2时,返回值<0
当数组1=数组2时,返回值=0
当数组1>数组2时,返回值>0
eg:
int m[5] = { 1,2,3,4,5 };
int b[5] = { 1,2,3,4,7};
cout<< memcmp(m, b, 20); // 比较数组是否相同
输出结果为-1
printf函数
功能:输出值或语句
eg:
int a = 1; char k[8] = "abcdef"; printf("%d %s", a, k);