C sempre ha estat molt específic sobre els valors inicials dels objectes. Si són globals o estàtics, es posaran a zero. Si és automàtic, el valor és indeterminat. Aquest va ser el cas dels compiladors anteriors a C89 i així ho va especificar K&R i l'informe C original de DMR.
Hi ha inicialització predeterminada en C?
A diferència d'alguns llenguatges de programació, C/C++ no inicialitza la majoria de variables a un valor determinat (com ara zero) automàticament. Així, quan a una variable se li assigna una ubicació de memòria pel compilador, el valor predeterminat d'aquesta variable és qualsevol valor (escombraries) que ja es troba en aquesta ubicació de memòria!
Quina és la inicialització predeterminada d'una matriu en C?
Per exemple, les matrius d'enters s'inicien amb 0. Els valors dobles i flotants s'inicializaran amb 0,0. Per a les matrius de caràcters, el valor predeterminat és '\0'. Per a una matriu de punters, el valor predeterminat és nullptr.
És possible la inicialització dinàmica en C?
Inicialització dinàmica de l'objecte en C++
La inicialització dinàmica de l'objecte fa referència a inicialitzar els objectes en un temps d'execució és a dir, el valor inicial d'un objecte es proporciona durant temps d'execució. Es pot aconseguir utilitzant constructors i passant paràmetres als constructors.
Quines variables s'inicien automàticament en C?
Les variables globals s'inicialitzen automàticament a 0 en el moment de la declaració. Les variables globals s'escriuen generalment abans de la funció principal. A la línia 4, a i b es declaren com a dues variables globals de tipus int.