Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengembalikan dan Mengubah Suai Tatasusunan dalam Fungsi C?

Bagaimanakah Saya Boleh Mengembalikan dan Mengubah Suai Tatasusunan dalam Fungsi C?

Susan Sarandon
Lepaskan: 2024-12-20 13:33:11
asal
460 orang telah melayarinya

How Can I Return and Modify Arrays in C   Functions?

Mengembalikan Tatasusunan dalam Fungsi

Dalam C, tatasusunan bukan objek kelas pertama, yang bermaksud bahawa ia tidak boleh dikembalikan secara langsung daripada fungsi. Walau bagaimanapun, terdapat dua pendekatan biasa untuk bekerja dengan tatasusunan dalam fungsi:

Pendekatan 1: Melewati Rujukan

Seperti yang ditunjukkan dalam soalan, tatasusunan boleh dihantar kepada fungsi sebagai rujukan, membenarkan fungsi mengubah suai tatasusunan asal. Fungsi kemudiannya boleh mengembalikan kekosongan atau jenis data lain semasa masih mempunyai akses kepada tatasusunan yang dikemas kini.

Pendekatan 2: Mengembalikan Penunjuk

Sebagai alternatif, tatasusunan boleh dikembalikan daripada fungsi sebagai penunjuk kepada elemen pertama mereka. Ini pada asasnya sama seperti lulus melalui rujukan, kerana fungsi masih boleh mengakses dan mengubah suai tatasusunan asal melalui penunjuk.

Contoh Pelaksanaan:

int* fillArray(int arr[], int size) {
  for (int i = 0; i < size; ++i) {
    arr[i] = i + 1;
  }
  return arr;
}

int main() {
  int arr[5];
  int* result = fillArray(arr, 5);

  // Access and print the modified array through the pointer
  for (int i = 0; i < 5; ++i) {
    cout << result[i] << " ";
  }
  cout << endl;
  return 0;
}
Salin selepas log masuk

Dalam contoh ini, fungsi fillArray mengambil rujukan tatasusunan dan saiz sebagai input dan mengembalikan penunjuk kepada elemen pertama tatasusunan yang diubah suai. Fungsi utama memanggil fungsi ini dan menyimpan hasilnya dalam penunjuk. Ia kemudian mengakses tatasusunan yang diubah suai melalui penuding ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengembalikan dan Mengubah Suai Tatasusunan dalam Fungsi C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan