Bagaimanakah anda Mengembalikan Array daripada Fungsi dalam C?

Barbara Streisand
Lepaskan: 2024-11-17 06:01:03
asal
200 orang telah melayarinya

How do you Return an Array from a Function in C  ?

Mengembalikan Tatasusunan daripada Fungsi dalam C

Dalam C , mengembalikan tatasusunan daripada fungsi tidak boleh dilakukan secara langsung, kerana memori tatasusunan tidak boleh disalin melalui penyataan pulangan. Untuk memintas pengehadan ini, pendekatan alternatif mesti digunakan.

Menggunakan Vektor

Vektor, sebahagian daripada Pustaka Standard C, ialah tatasusunan dinamik yang boleh digunakan untuk menyimpan dan mengembalikan koleksi elemen. Ia menyediakan alternatif yang mudah kepada tatasusunan terbina dalam dan boleh disalin dan dimanipulasi dengan mudah.

std::vector<int> myfunction(const std::vector<int>& my_array) {
  std::vector<int> f_array;
  // ... Operations on f_array ...
  return f_array;
}
Salin selepas log masuk

Menggunakan Tatasusunan Boost

Tatasusunan Boost, yang disediakan oleh perpustakaan Boost, ialah tatasusunan bersaiz tetap yang menawarkan sintaks yang lebih mudah daripada std::vectors. Mereka merangkum tatasusunan mentah dan memastikan akses selamat dalam had yang ditentukan.

boost::array<int, 2> myfunction(const boost::array<int, 2>& my_array) {
  boost::array<int, 2> f_array;
  // ... Operations on f_array ...
  return f_array;
}
Salin selepas log masuk

Menggunakan Penunjuk Memori

Memulangkan penuding memori yang menunjuk kepada elemen tatasusunan ialah pendekatan lain. Walau bagaimanapun, kaedah ini memerlukan pengurusan memori manual dan harus digunakan dengan berhati-hati, terutamanya dalam persekitaran berbilang benang.

int* myfunction(int* my_array) {
  // ... Operations on my_array ...
  return my_array;
}
Salin selepas log masuk

Nota: Dalam contoh kod anda, tatasusunan my_array diisytiharkan dengan satu elemen ([1]). Untuk memegang dua nilai, ia harus diisytiharkan sebagai [2]. Selain itu, tatasusunan yang dikembalikan dalam fungsi cadangan anda (f_array) memerlukan penuding untuk dikembalikan, kerana tatasusunan itu sendiri tidak boleh dikembalikan secara langsung.

Atas ialah kandungan terperinci Bagaimanakah anda Mengembalikan Array daripada Fungsi dalam 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