Mam tablicę 3 elementów. Ale chcę tylko zainicjować 2 z nich. Pozwoliłem, aby trzeci element był pusty.Wartość niezainicjowanych elementów w tablicy języka C
unsigned char array[3] = {1,2,};
int main(){
printf("%d",array[2]);
return 0;
}
Wynik drukowania wynosi 0. Przetestowałem go na IAR i na niektórych kompilatorach online.
Czy istnieje jakaś reguła C dla wartości trzeciego elementu? Czy jest jakikolwiek kompilator wypełniający trzeci element przez 0xFF? (Zwłaszcza kompilator krzyżowy)
To nie odpowiada na pytanie. OP chciał wiedzieć, czy istnieje reguła dla jakiej wartości nieokreślone indeksy są inicjowane (tam) i czy każdy kompilator domyślnie zainicjuje je na 0xFF (nie zrobiłby tego żaden zgodny ze standardem kompilator). –