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);

 

返回目录

posted @ 2023-04-21 09:34  微纯册  阅读(33)  评论(0编辑  收藏  举报