- 0.1 1. Panimula
- 0.2 2. Ano ang Array? Ang Papel Nito sa Wikang C
- 0.3 3. Mga Pangunahing Paraan ng Pag-inisyal ng Array
- 0.4 4. Bahagyang Pag-inisyalisa
- 0.5 5. Pag-inisyalisa ng Zero
- 0.6 6. Pag-inisyalisa ng Multidimensional Arrays
- 0.7 7. Pag-inisyalisa ng Dynamic na Array
- 0.8 8. Mga Karaniwang Pagkakamali at Pinakamahusay na Pagsasanay
- 1 define SIZE 5
1. Panimula
Ang pag-inisyal ng mga array sa wika ng programming na C ay isa sa mga unang hakbang na makakaharap mo—at ito rin ay mahalaga. Kung hindi tama ang pag-inisyal, madalas itong humahantong sa hindi inaasahang mga bug at error. Sa artikulong ito, ihahanda natin ang mga nagsisimula hanggang sa intermediate na mag-aaral sa hakbang-hakbang na proseso ng pag-inisyal ng array, kasama ang mga praktikal na tip na talagang magagamit mo. Sa pagtatapos, ikaw ay isang hakbang na mas malapit sa pagiging pro sa pag-inisyal ng mga array!
2. Ano ang Array? Ang Papel Nito sa Wikang C
Ang array ay isang kapaki-pakinabang na istraktura na nagbibigay-daan sa iyo upang hawakan ang maraming halaga ng parehong uri ng data nang sabay-sabay. Halimbawa, kapag nag-iimbak ng mga marka ng pagsusulit para sa 30 mag-aaral, mas epektibo itong gumamit ng isang array kaysa lumikha ng 30 magkahiwalay na variables.
Halimbawa: Ang Pagdedeklara ng Array
int scores[30];
Ang linya ng code na ito ay nagdedeklara ng isang array na maaaring maglaman ng 30 marka ng pagsusulit.
Isa pang mahalagang bagay na dapat tandaan kapag gumagamit ng arrays ay naang mga hindi na-inisyalisang arrays ay maaaring maglaman ng hindi inaasahang (garbage) mga halaga. Kaya mahalaga ang tamang pag-inisyalisa.

3. Mga Pangunahing Paraan ng Pag-inisyal ng Array
Maaari mong i-inisyal ang isang array sa parehong oras na idedeklara mo ito. Ito ay isang magandang paraan upang ma-pre-set ang mga value na kailangan ng iyong programa kapag tumatakbo ito.
Halimbawa 1: I-deklara at I-inisyal sa Parehong Oras
int arr[3] = {1, 2, 3};
Ang linyang ito ay nagdedeklara ng isang array na nagngangalang arr
na may tatlong elemento at nagtatalaga ng mga value sa bawat isa. Sa C, kung magbibigay ka ng isang initializer list, ang laki ng array ay maaaring ma-infer awtomatikong minsan.
Halimbawa 2: Pag-inisyal Nang Walang Pag-specified ng Laki
int arr[] = {1, 2, 3};
Sa format na ito, ang laki ng array ay awtomatikong tinutukoy batay sa bilang ng mga value na ibinigay.
Tip:
Habang minsan makakatulong na i-specify ang laki nang eksplisito, ang pag-omission nito ay maaaring magpabilis ng iyong code at mapabuti ang readability.
4. Bahagyang Pag-inisyalisa
Kapag bahagyang inisyalisa mo ang isang array, ang mga elemento na hindi eksplisit na itinatakda ay awtomatikong inisyalisa sa zero. Ito ay kapaki-pakinabang kapag kailangan mo lamang magtakda ng mga halaga sa ilang partikular na elemento.
Halimbawa: Bahagyang Pag-inisyalisa
int arr[5] = {1, 2}; // Ang natitirang mga elemento ay awtomatikong itatakda sa 0
Sa halimbawang ito, ang unang dalawang elemento ay inisyalisa gamit ang 1
at 2
, habang ang natitira ay awtomatikong itinatakda sa 0
. Ang teknik na ito ay lalong kapaki-pakinabang kapag nakikitungo sa malalaking array o kapag kailangan lamang ng ilang elemento ng mga partikular na halagang inisyal.

5. Pag-inisyalisa ng Zero
Kung nais mong i-inisyalisa sa zero ang lahat ng elemento ng isang array, maaari mong gawin ito sa isang simpleng at maikling paraan.
Halimbawa: I-inisyalisa ang Lahat ng Elemento sa Zero
int arr[5] = {0}; // Lahat ng elemento ay i-inisyalisa sa 0
Ang approach na ito ay napakafay ng kapag kailangan mong linisin ang malalaking array sa pamamagitan ng pag-set ng bawat elemento sa zero. Para sa mas malalaking array, maaari mong gamitin ang memset
function upang i-inisyalisa sila nang mahusay.
Halimbawa: Pag-inisyalisa ng Zero Gamit ang memset
memset(arr, 0, sizeof(arr));
Ang paggamit ng memset
ay nagbibigay-daan sa iyo na mabilis na i-inisyalisa kahit na malalaking array sa zero na may mataas na performance.
6. Pag-inisyalisa ng Multidimensional Arrays
Ang C ay nagpapadali sa paggamit ng multidimensional arrays, tulad ng 2D o 3D arrays. Sila ay lalong kapaki-pakinabang kapag hinahawakan ang matrix data o complex datasets.
Halimbawa: Pag-inisyalisa ng 2D Array
int arr[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
Ito ay nagdedeklara ng array na may 2 na hilera, 3 na hanay at naglalaan ng mga simulaing halaga sa bawat hilera.
Halimbawa: Pag-inisyalisa ng 3D Array
int tensor[2][2][2] = {
{{1, 2}, {3, 4}},
{{5, 6}, {7, 8}}
};
Ang halimbawang ito ay gumagawa ng 3D array na may sukat 2x2x2 at nagtatakda ng simulaing halaga para sa bawat elemento. Kapag nagtatrabaho sa multidimensional arrays, mahalagang bigyang-pansin ang mga sukat ng array at ang kaayusan ng pag-inisyalisa.

7. Pag-inisyalisa ng Dynamic na Array
Kapag ang laki ng isang array ay tinutukoy sa runtime, maaari kang mag-allocate ng memory nang dynamically gamit ang malloc
function. Ang mga dynamic na array ay lalong kapaki-pakinabang kapag ang kinakailangang laki ay hindi nakatakda.
Halimbawa: Pag-inisyalisa ng Dynamic na Array
int *arr = (int *)malloc(5 * sizeof(int));
for (int i = 0; i < 5; i++) {
arr[i] = i;
}
Sa halimbawang ito, ang memory ay naallot nang dynamically, at ang bawat elemento ay inisyalisa gamit ang isang loop.
Pagpigil sa Memory Leaks:
Kapag gumamit ka ng dynamic na memory allocation, kailangan mong palayain ang memory gamit ang free
function kapag tapos ka na dito. Ang pagkabigo sa paggawa nito ay maaaring magresulta sa memory leaks, na sayang ang mga mapagkukunan ng sistema.
free(arr);
Pagdaragdag ng Error Handling:
Dapat mong laging suriin kung matagumpay ang memory allocation, upang maiwasan ang hindi inaasahang crash.
if (arr == NULL) {
printf(“Nabigo ang pag-allot ng memory.n”);
}
8. Mga Karaniwang Pagkakamali at Pinakamahusay na Pagsasanay
Ang Panganib ng Mga Hindi Na-inisyalisang Array:
Sa C, ang pagdedeklara ng isang array ay hindi awtomatikong nag-i-initialize ng mga elemento nito. Ang paggamit ng isang hindi na-inisyalisang array ay maaaring mag-iwan ng basura na mga halaga sa memorya, na maaaring humantong sa hindi inaasahang mga bug. Laging i-initialize ang mga array nang eksplisito.
Pamamahala ng Laki ng Array gamit ang #define
:
Ang paggamit ng isang #define
macro upang pamahalaan ang mga laki ng array ay nagpapadali sa pag-update ng mga halaga at nagpapabuti sa pag-maintain ng iyong code.
define SIZE 5
int arr[SIZE];
9. Konklusyon
Ang pag-inisyal ng array ay isang fundamental na bahagi ng C programming. Ang tamang paggawa nito ay maaaring lubos na mapabuti ang katatagan ng iyong code. Mula sa zero initialization at partial initialization hanggang sa multidimensional arrays at dynamic memory management, ang mga teknik na tinalakay sa artikulong ito ay tutulong sa iyo upang maiwasan ang mga bug at magsulat ng mas mahusay na code. I-apply ang mga tip na ito sa iyong susunod na proyekto at iangat ang iyong mga kasanayan sa programming sa susunod na antas!