• 向函数传递一维数组


    读书笔记

    1、函数元素作为函数参数

    当函数的形参类型与数组元素的类型相同时,数组元素与普通变量一样,可以作为函数实参,且由实参到形参的数据传递也是单向值传递

    如 

     1 #include<stdio.h>
     2 #define N 5
     3 
     4 void swap(int x,int y)
     5 {
     6     int temp;
     7     temp = x;
     8     x = y;
     9     y = temp;
    10 }
    11 
    12 int main()
    13 {
    14     int a = {1,2};
    15     printf("%d	%d
    ",a[0],a[1]);
    16     swap(a[0],a[1]);
    17     printf("%d	%d
    ",a[0],a[1]);
    18     return 0;
    19 }

    结果为 

    1 1    2
    2 1    2

    由此可见,当数组元素作为函数的实参时,数组元素的值会自动初始化形参变量,当函数中的形参发生修改时,数组元素的值不会受到影响

    2、数组名作为函数实参

    常见函数首部格式定义为:

      函数类型 函数名(数据类型 数组名[ ],int n);

    如:  void fun1(int a[ ] ,int n)

    或:

      函数类型 函数名 (数据类型 数组名[长度]);

    如:  void fun2 (int a[10])

    3、定义数组输入、输出头文件

    可以通过设计数组的输入、输出和随机数初始化数组的函数,存放在专门的头文件中,供程序调用,可提高编写效率

    如:

    可设计以下几个函数,并将其存放与Arry.h的头文件中



    #ifndef _Arry_h
    #define _Arry_h

    #include<stdio.h>
    #include<stdlib.h> void input(int a[] ,int a)
    {
       int i;
       printf("请输入%d个整数,整数间用空格分隔: ",n);
       for(i = 0;i < n;i++)
         scanf("%d",a+i);                    //输入数组的前n个元素
    }  
    void print(int a[],int n)
    {
      int i;
      printf(" 数组内容是: ");
      for (i = 0;i<n;i++)
        {  if (i%10 = 0)  printf(" ");         //输入数组的前n个元素,每行输10个
           printf("%6d",a[i]);
        }
      printf(" ");
    }
    void init(int a[],int n)
    {
       int i;
       srand(time(0));
       for (i = 0;i<n;i++)
         a[i] = rand()%1000+1;                //将数组的前n个元素用随机数初始化
    }        
    #endif

    在编写数组程序中,可以用指令将三个函数应用到程序中使用

     1 #include'Arry.h'
     2 #define N 10
     3 
     4 int main()
     5 {
     6     int a[N];
     7     input(a,N);
     8     printf(a,N);
     9     return 0;
    10 }
  • 相关阅读:
    OpenGL_ES-纹理
    GCD 初步学习
    关于心理的二十五种倾向(查理&#183;芒格)-3
    黑马day18 jquery高级特性&amp;Ajax的load方法
    九度 1138
    FusionCharts简单教程---建立第一个FusionCharts图形
    【转】第二课.配置和初始化
    【转】Git详解之一:Git起步
    【转】1.5 起步
    【转】Cygwin的包管理器:apt-cyg
  • 原文地址:https://www.cnblogs.com/zhongllmm/p/13736842.html
Copyright © 2020-2023  润新知