Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Tatasusunan dihantar ke Fungsi dalam 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!