Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memulakan tatasusunan dalam bahasa c

Bagaimana untuk memulakan tatasusunan dalam bahasa c

青灯夜游
青灯夜游asal
2021-07-23 18:02:0137007semak imbas

Kaedah: 1. Berikan nilai awal kepada semua elemen semasa mentakrifkan tatasusunan, contohnya "int a[5]={1,2,3,4,5}" 2. Berikan nilai ​​kepada beberapa elemen, contohnya " int a[5]={1,2}"; {1,2,3,4,5}".

Bagaimana untuk memulakan tatasusunan dalam bahasa c

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi c99, komputer Dell G3.

Pemulaan tatasusunan

Pemulaan tatasusunan boleh dicapai menggunakan kaedah berikut:

1) Apabila mentakrifkan tatasusunan, berikan Semua elemen diberi nilai awal , yang dipanggil "pemulaan lengkap". Contohnya:

int a[5] = {1, 2, 3, 4, 5};

Dengan meletakkan nilai awal elemen tatasusunan dalam sepasang pendakap kerinting, selepas permulaan, a[1]=2; ]= 3; a[3]=4; a[4]=5, iaitu, diberikan kepada setiap elemen dalam urutan dari kiri ke kanan. Perlu diingat bahawa semasa permulaan, setiap elemen dipisahkan dengan koma, bukan titik bertitik.

2) Anda boleh menetapkan nilai hanya kepada sebahagian daripada elemen , yang dipanggil "pemulaan tidak lengkap". Contohnya: Tatasusunan a yang ditakrifkan oleh

int a[5] = {1, 2};

mempunyai 5 elemen, tetapi hanya dua nilai awal disediakan dalam pendakap kerinting, yang bermaksud bahawa hanya dua elemen pertama a[0] dan a[ 1] dimulakan Tiga elemen terakhir belum dimulakan. Apabila tidak dimulakan sepenuhnya, elemen yang belum dimulakan secara automatik ditetapkan kepada 0.

Perlu diambil perhatian bahawa "pemulaan tidak lengkap" adalah berbeza daripada "tidak dimulakan sama sekali". Jika "tidak dimulakan sama sekali", iaitu, hanya tentukan "int a[5];" tanpa permulaan, maka nilai setiap elemen tidak akan menjadi 0, dan semua elemen akan menjadi nilai sampah.

Anda juga tidak boleh menulis "int a[5]={};". Jika anda tidak menulis apa-apa dalam kurung kurawal, ia adalah kesilapan tatabahasa yang serius. Sekurang-kurangnya satu nombor mesti ditulis dalam kurungan kerinting. Contohnya, "int a[5]={0};" adalah untuk "mengosongkan" tatasusunan Pada masa ini, setiap elemen dalam tatasusunan adalah sifar. Di samping itu, jika panjang tatasusunan yang ditentukan adalah kurang daripada bilangan nilai awal yang disediakan dalam pendakap kerinting, ia juga merupakan ralat sintaks, seperti "a[2]={1, 2, 3, 4, 5 };".

3) Jika anda memberikan nilai awal kepada semua elemen dalam tatasusunan semasa mentakrifkan tatasusunan, maka anda tidak perlu menentukan panjang tatasusunan, kerana bilangan elemen telah pun ditentukan. Kami sering menggunakan cara penulisan ini semasa pengaturcaraan, kerana ia mudah, tidak akan ada masalah, dan kami tidak perlu mengira berapa banyak elemen yang ada Sistem akan memperuntukkan ruang secara automatik. Contohnya:

int a[5] = {1, 2, 3, 4, 5};

boleh ditulis sebagai:

int a[] = {1, 2, 3, 4, 5};

Terdapat 5 nombor dalam kurungan kerinting dalam cara penulisan kedua, jadi sistem akan secara automatik menentukan panjang tatasusunan a sebagai 5. Tetapi sila ambil perhatian bahawa anda hanya boleh menulis ini apabila memulakan tatasusunan apabila mentakrifkannya. Jika tatasusunan ditakrifkan tanpa permulaan, mengetepikan panjang tatasusunan ialah ralat sintaks. Contohnya:

int a[];

Kemudian ralat akan digesa semasa penyusunan, dan pengkompil akan menggesa anda bahawa panjang tatasusunan tidak ditentukan.

Izinkan saya menulis atur cara mudah untuk anda:

# include <stdio.h>
int main(void)
{
    int a[5] = {1, 2, 3, 4, 5};
    int i;
    for (i=0; i<5; ++i)
    {
        printf("%d\n", a[i]);
    }
    return 0;
}

Hasil output ialah:

1
2
3
4
5

a mewakili nama tatasusunan, [5] mewakili bahawa tatasusunan mempunyai 5 elemen, masing-masing diwakili oleh a[0], a[1], a[2], a[3], a[4]. Dan tetapkan nombor 1, 2, 3, 4, dan 5 dalam kurungan kerinting kepada pembolehubah a[0], a[1], a[2], a[3] dan a[4] masing-masing. Sekali lagi, subskrip bermula pada 0, a[0], bukan a[1].

Anda juga boleh menggunakan scanf untuk memulakan tatasusunan secara manual daripada papan kekunci:

# include <stdio.h>
int main(void)
{
    int a[5] = {0};  //数组清零初始化
    int i;
    printf("请输入5个数:");
    for (i=0; i<5; ++i)
    {
        scanf("%d", &a[i] );
    }
    for (i=0; i<5; ++i)
    {
        printf("%d\x20", a[i]);
    }
    printf("\n");
    return 0;
}

Hasil output ialah:

请输入5个数:1 2 3 4 5
1 2 3 4 5

Sama seperti semasa menggunakan scanf untuk memasukkan rentetan ke dalam tatasusunan aksara Perbezaannya ialah anda mesti menggunakan gelung for untuk memasukkan nombor. Tidak perlu menggunakan gelung apabila memasukkan rentetan, hanya gunakan scanf.

Cadangan berkaitan: "Tutorial Video Bahasa C"

Atas ialah kandungan terperinci Bagaimana untuk memulakan 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
Artikel sebelumnya:c程序编写x的y次方的方法Artikel seterusnya:double型输出格式是什么