zoukankan      html  css  js  c++  java
  • 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;
    }

    输出:

  • 相关阅读:
    first
    JavaEE(3)
    简明Python3教程 7.运算符和表达式
    简明Python3教程 6.基础
    简明Python3教程 5.第一步
    高级程序员和低级程序员的区别
    JavaEE(2)
    Java数据结构与算法(33)
    Java数据结构与算法(32)
    Java数据结构与算法(31)
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12120256.html
Copyright © 2011-2022 走看看