Si vous n'initialisez pas explicitement, que la valeur initiale soit automatiquement saisie ou que la valeur indéfinie soit toujours saisie, un résumé des différences en fonction de la langue et de l'emplacement de la déclaration.
Java#
La valeur par défaut est automatiquement saisie dans la variable d'instance.
public class Sample{
int x; //Variable d'instance
void show(){
int tmp; //Variables locales
System.out.println("x = " + x);
}
}
Type de variable | Valeur par défaut |
---|---|
int , short , byte , long | 0 |
float , double | 0.0 |
char | '\u0000' |
boolean | false |
Référence d'objet | null |
Même dans le cas d'un tableau, tous les éléments ont des valeurs par défaut.
Les variables locales ne sont pas automatiquement initialisées. Si vous ne l'initialisez pas explicitement vous-même, vous obtiendrez une erreur de compilation.
Cependant, même s'il s'agit d'une variable locale, seul le ** tableau est automatiquement initialisé **.
Site de référence http://www.booran.com/menu/java/format.html
C/C++#
Les variables globales sont initialisées avec les valeurs par défaut.
#include <stdio.h>
int g_hoge; //Variables globales
int main(){
int a; //Variables locales
return 0;
}
Type de variable | Valeur par défaut |
---|---|
int , short , long | 0 |
float , double | 0.0 |
char | '\0' |
bool | false |
Référence d'objet | NULL |
Même dans le cas d'un tableau, tous les éléments ont des valeurs par défaut.
Les variables locales ne sont pas automatiquement initialisées.
Contrairement à Java, le tableau de variables locales n'est pas non plus initialisé.
Pour les variables avec «static», même les variables locales sont initialisées.
Site de référence http://edu.clipper.co.jp/pg-2-33.html
Je ne suis pas sûr des variables de classe et de structure car leur comportement change en fonction de l'endroit où elles sont déclarées et de la manière dont elles sont créées.
Bien qu'il s'initialise, il est préférable de l'initialiser explicitement vous-même dans des programmes que d'autres voient.
Recommended Posts