Rumah >pembangunan bahagian belakang >Tutorial C#.Net >Bagaimana untuk mencari panjang tatasusunan dalam bahasa C

Bagaimana untuk mencari panjang tatasusunan dalam bahasa C

小老鼠
小老鼠asal
2024-05-08 17:42:15432semak imbas

Panjang tatasusunan boleh diperolehi melalui operator sizeof Formulanya ialah: sizeof (nama array) / sizeof (jenis elemen array), dan hasilnya ialah panjang array.

Bagaimana untuk mencari panjang tatasusunan dalam bahasa C

Cara mencari panjang tatasusunan dalam bahasa C

Kaedah langsung

<code class="c">#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int len = sizeof(arr) / sizeof(arr[0]);
    printf("数组长度:%d\n", len);
    return 0;
}</code>

saiz operator

>bahasa pengendali boleh mendapatkandalam C pembolehubah atau saiz Jenis data. Untuk tatasusunan, sizeof mengembalikan jumlah bilangan bait yang diduduki oleh semua elemen dalam tatasusunan, yang dibahagikan dengan saiz elemen tunggal untuk mendapatkan panjang tatasusunan. sizeof 运算符可以获得变量或数据类型的大小。对于数组,sizeof 返回数组中所有元素所占用的总字节数,通过将其除以单个元素的大小,即可得到数组长度。

其他方法

上述方法是标准方法,但在某些情况下,还可以使用其他方法来求取数组长度:

  • 数组边界宏:一些编译器提供了数组边界宏,如 _countof(Visual C++)或 __builtin_object_size
  • Kaedah lain
  • Kaedah di atas adalah kaedah standard, tetapi dalam beberapa kes, kaedah lain boleh digunakan untuk mencari panjang tatasusunan:
    🎜🎜Makro sempadan tatasusunan🎜: Sesetengah penyusun menyediakan Makro sempadan tatasusunan, seperti _countof (Visual C++) atau __builtin_object_size (GCC). Makro ini secara langsung mengembalikan panjang tatasusunan. 🎜🎜🎜Tuding ke hujung tatasusunan🎜: Apabila memperuntukkan memori untuk tatasusunan, sistem akan memperuntukkan ruang tambahan untuk menyimpan hujung tatasusunan. Terdapat penunjuk sebelum penghujung tatasusunan menunjuk ke elemen pertama tatasusunan Dengan menolak nilai kedua-dua penunjuk ini, panjang tatasusunan boleh diperolehi. 🎜🎜

Atas ialah kandungan terperinci Bagaimana untuk mencari panjang tatasusunan dalam bahasa 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