Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Tatasusunan dihantar ke Fungsi dalam C?

Bagaimanakah Tatasusunan dihantar ke Fungsi dalam C?

DDD
DDDasal
2024-12-19 04:26:08979semak imbas

How Are Arrays Passed to Functions in C  ?

Melalukan Tatasusunan kepada Fungsi dalam C

Dalam C , tatasusunan boleh dihantar ke fungsi sama ada melalui rujukan atau nilai. Walau bagaimanapun, tatasusunan tidak seperti pembolehubah biasa kerana anda tidak boleh hanya menghantar nama tatasusunan kepada fungsi dan memastikan ia dianggap seperti satu elemen bagi jenis tertentu. Sebaliknya, nama tatasusunan dianggap sebagai penunjuk kepada elemen pertama tatasusunan.

Oleh itu, apabila anda mengisytiharkan parameter fungsi sebagai tatasusunan, anda sebenarnya mengisytiharkan penunjuk kepada jenis elemen tersebut. Sebagai contoh, pengisytiharan fungsi berikut mengisytiharkan fungsi yang mengambil tatasusunan int dan integer yang mewakili panjang tatasusunan:

void printarray(int arg[], int length);

Apabila panggilan dibuat ke fungsi printarray daripada fungsi utama, nama tatasusunan sedang diluluskan sebagai hujah. Nama tatasusunan merujuk kepada alamat elemen pertama tatasusunan. Ini bersamaan dengan menghantar penuding kepada elemen pertama tatasusunan.

Dalam kod di bawah, tatasusunan pembolehubah ialah tatasusunan tiga integer. Pembolehubah secondarray ialah tatasusunan lima integer. Fungsi printarray dipanggil dua kali, sekali dengan argumen firstarray dan sekali dengan argumen secondarray. Panjang argumen firstarray ialah 3, dan panjang secondarray argument ialah 5.

int firstarray[] = {5, 10, 15};
int secondarray[] = {2, 4, 6, 8, 10};
printarray(firstarray, 3);
printarray(secondarray, 5);

Dalam fungsi printarray, parameter arg ialah penunjuk kepada elemen pertama tatasusunan yang dihantar masuk. Parameter panjang ialah panjang tatasusunan yang dihantar masuk. Fungsi printarray mencetak nilai elemen tatasusunan.

void printarray (int arg[], int length) {
    for (int n = 0; n < length; n++) {
        cout << arg[n] << " ";
    }
    cout << "\n";
}

Keluaran kod adalah seperti berikut:

5 10 15
2 4 6 8 10

Atas ialah kandungan terperinci Bagaimanakah Tatasusunan dihantar ke Fungsi dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn