Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mendapatkan panjang tatasusunan dalam bahasa C

Bagaimana untuk mendapatkan panjang tatasusunan dalam bahasa C

小老鼠
小老鼠asal
2024-05-08 17:45:28905semak imbas

Terdapat dua cara untuk mendapatkan panjang tatasusunan dalam bahasa C: gunakan operator sizeof(): length = sizeof(arr) / sizeof(arr[0]); gunakan makro: #define ARRAY_LENGTH(arr) (sizeof( arr) / sizeof (arr[0]));

Bagaimana untuk mendapatkan panjang tatasusunan dalam bahasa C

Bagaimana untuk mendapatkan panjang tatasusunan dalam bahasa C

Dalam bahasa C, tatasusunan ialah struktur data yang boleh menyimpan koleksi data daripada jenis yang sama. Tidak seperti bahasa pengaturcaraan lain, tiada mekanisme terbina dalam C untuk mendapatkan panjang tatasusunan. Oleh itu, kita perlu mendapatkan panjang tatasusunan melalui kaedah lain.

Kaedah 1: Gunakan operator sizeof()

sizeof() operator mengembalikan bilangan bait yang diduduki oleh pembolehubah atau struktur data dalam ingatan. Anda boleh menggunakannya untuk mengira panjang tatasusunan seperti berikut: sizeof() 运算符返回变量或数据结构在内存中占用的字节数。可以用它来计算数组长度,方法如下:

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

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

    return 0;
}</code>

在这个例子中,arr 是一个整数数组。sizeof(arr) 返回整个数组占用的字节数,sizeof(arr[0])

<code class="c">#define ARRAY_LENGTH(arr) (sizeof(arr) / sizeof(arr[0]))</code>
Dalam contoh ini, arr ialah tatasusunan integer. sizeof(arr) mengembalikan bilangan bait yang diduduki oleh keseluruhan tatasusunan, sizeof(arr[0]) mengembalikan bilangan bait yang diduduki oleh satu elemen tatasusunan. Dengan membahagikan yang pertama dengan yang terakhir, kita boleh mendapatkan panjang tatasusunan.

Kaedah 2: Menggunakan makro

Kita boleh menentukan makro untuk mendapatkan panjang tatasusunan. Makro ialah arahan prapemproses yang dikembangkan pada masa penyusunan. Contohnya:

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

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int length = ARRAY_LENGTH(arr);
    printf("数组长度: %d\n", length);

    return 0;
}</code>
Sekarang, kita boleh menggunakan makro untuk mendapatkan panjang tatasusunan:

rrreee Nota:

  • Kaedah ini hanya berfungsi untuk tatasusunan statik dengan panjang yang diketahui.
  • Jika panjang tatasusunan berubah (contohnya, tatasusunan yang diperuntukkan secara dinamik), anda perlu menggunakan kaedah lain untuk menjejaki panjang tatasusunan.
🎜

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan 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