Dalam standard C90, kita perlu memulakan tatasusunan dalam susunan tetap, seperti memulakan indeks pada kedudukan 0, 1, 2, dsb. Bermula dengan standard C99, mereka memperkenalkan fungsi permulaan yang ditetapkan dalam C. Di sini kita boleh memulakan elemen dalam susunan rawak. Permulaan boleh dilakukan menggunakan indeks tatasusunan atau ahli struktur. Sambungan ini tidak dilaksanakan dalam GNU C++.
Jika kita menentukan beberapa indeks dan memasukkan beberapa nilai, maka ia akan kelihatan seperti ini -
int arr[6] = {[3] = 20, [5] = 40}; or int arr[6] = {[3]20, [5]40};
Ini bersamaan dengan: Beberapa julat elemen boleh diletakkan menggunakan sintaks berikut : [pertama … terakhir] = nilai.
int arr[6] = {0, 0, 0, 20, 0, 40};
Ini bersamaan dengan:
int arr[6] = {[2 … 4] = 10};
Jika saiz tatasusunan tidak ditentukan, maka saiz boleh diperolehi bermula dari kedudukan indeks maksimum. Mari kita lihat kod untuk mendapatkan idea yang lebih baik.
Kod contoh
int arr[6] = {0, 0, 10, 10, 10, 0};
#include <stdio.h> int main() { int Array[] = {10, 20, 30, [3 ... 9] = 100, [10] = 65, 15, [80] = 50, [42] = 400 }; int i; for (i = 0; i < 20; i++) printf("%d ", Array[i]); printf("</p><p>Array[%d] = %d</p><p>",80, Array[80]); printf("Array[%d] = %d</p><p>",42, Array[42]); printf("Size of this array: %ld</p><p>", sizeof(Array) / sizeof(Array[0])); }
Kod contoh
10 20 30 100 100 100 100 100 100 100 65 15 0 0 0 0 0 0 0 0 Array[80] = 50 Array[42] = 400 Size of this array: 81
#include <stdio.h> struct myStruct { int x; float y; char z; }; int main() { struct myStruct str1 = {.y = 2.324, .z = 'f', .x = 78}; struct myStruct str2 = {.z = 'r'}; printf ("x = %d, y = %f, z = %c</p><p>", str1.x, str1.y, str1.z); printf ("z = %c</p><p>", str2.z); }
Atas ialah kandungan terperinci Pemula yang ditetapkan dalam bahasa C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!