English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base del linguaggio C

Controllo di flusso del linguaggio C

C语言函数

C语言数组

C语言指针

C语言字符串

Struttura del linguaggio C

File del linguaggio C

C altri

Manuale di riferimento del linguaggio C

C数组作为函数参数

In questo tutorial, imparerai a passare array (array unidimensionali e multidimensionali) alle funzioni del linguaggio di programmazione C tramite esempi.

Nel linguaggio di programmazione C, puoi passare l'intero array a una funzione. Prima di comprendere questo, vediamo come passare gli elementi singoli di un array a una funzione.

Passaggio di un singolo elemento di array

Passaggio di elementi di array a una funzione è simile aPassaggio di variabili a una funzione.

Esempio 1: Passaggio di array

#include <stdio.h>
void display(int age1, int age2);
{
    printf("%d\n", age1);
    printf("%d\n", age2);
}
int main()
{
    int ageArray[] = {2, 8, 4, 12};
    //Passare il secondo e il terzo elemento a display()
    display(ageArray[1], ageArray[2]); 
    return 0;
}

输出结果

8
4

Esempio 2: Passare un array a una funzione

//Il programma calcola la somma degli elementi dell'array passati alla funzione
#include <stdio.h>
float calculateSum(float age[]);
int main() {
    float result, age[] = {23.4, 55, 22.6, 3, 40.5, 18};
    //L'array age viene passato a calculateSum()
    result = calculateSum(age); 
    printf("Risultato = %.2f", result);
    return 0;
}
float calculateSum(float age[]) {
  float sum = 0.0;
  per (int i = 0; i < 6; ++i)
		sum += age[i];
  }
  return sum;
}

输出结果

Risultato = 162.50

Per passare l'intero array a una funzione, passare solo il nome dell'array come parametro.

result = calculateSum(age);

Ma, nota l'uso di [] nella definizione della funzione.

float calculateSum(float age[]) {
... ..
}

Questo avvisa il compilatore che stai passando un array uno-dimensionale a questa funzione.

//Passare un array multidimensionale alla funzione

Per passare un array multidimensionale a una funzione, passare solo il nome dell'array alla funzione (simile a un array uno-dimensionale).

Esempio 3: Passare un array bidimensionale

#include <stdio.h>
void displayNumbers(int num[2][2]);
int main()
{
    int num[2][2];
    printf("Inserisci 4 numeri:\n");
    per (int i = 0; i < 2; ++i)
        per (int j = 0; j < 2; ++j)
            scanf("%d", &num[i][j]);
    //Passare un array multidimensionale alla funzione
    displayNumbers(num);
    return 0;
}
void displayNumbers(int num[2][2])
{
    printf("Visualizzando:\n");
    per (int i = 0; i < 2; ++i) {
        per (int j = 0; j < 2; ++j) {
           printf("%d\n", num[i][j]);
        }
    }
}

输出结果

输入4个数字:
2
3
4
5
Displaying:
2
3
4
5

注意:在C语言编程中,可以将数组传递给函数,但是,不能从函数返回数组。