• c语言之在函数内部改变数组的值从而影响外部数组的四种方式


    1.形参和实参都用数组名。

    2.实参采用数组名,形参采用指针变量。

    3.实参和形参都采用指针变量。

    4.实参为指针变量,形参为数组名。

    #include<stdio.h>
    #include<iostream>
    
    //第一种方式
    //注意传入的是a[],而不是a
    void change(int a[]){
        a[4] = 888;
    }
    //第二种方式
    void change2(int* a) {
        *(a+4) = 999;
    }
    //第三种方式
    void change3(int* p) {
        *(p + 4) = 333;
    }
    //第四种方式
    void change4(int a[]) {
        a[4] = 222; 
    }
    void printArr(int arr[],int length) {
        for (int i = 0; i < length; i++)
        {
            printf("%d ", arr[i]);
        }
        putchar('
    ');
    }
    int main() {
        int a[5] = { 1,2,3,4,5 };
        int length = sizeof(a) / sizeof(a[0]);
        printf("改变之前的数组:
    ");
        printArr(a, length);
        change(a);
        printf("改变之后的数组:
    ");
        printArr(a, length);
    
        printf("改变之前的数组:
    ");
        printArr(a, length);
        change2(a);
        printf("改变之后的数组:
    ");
        printArr(a, length);
    
        printf("改变之前的数组:
    ");
        printArr(a, length);
        int* p = a;
        change3(p);
        printf("改变之后的数组:
    ");
        printArr(a, length);
    
        printf("改变之前的数组:
    ");
        printArr(a, length);
        int* p2 = a;
        change4(p2);
        printf("改变之后的数组:
    ");
        printArr(a, length);
    
        system("pause");
        return 0;
    }

    输出:

  • 相关阅读:
    centos7 yum 方式安装nginx
    在Windows系统下用命令把应用程序添加到系统服务
    WPF内置命令
    Json解析实例
    端口占用的问题
    WPF里的报警闪烁效果
    python类中的一些神奇方法
    python中交换两个变量值的方法
    lambda应用
    python函数不定长参数
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12120256.html
Copyright © 2020-2023  润新知