J'ai un programme qui ressemble à ceci comme suit:
int someVal = 5; int startCol = NULL; int startRow = NULL; int destCol = NULL; int destRow = NULL; for (int i = 0;i<2;i++){ if (startCol == NULL){ startCol = someVal; } // same for other variables }
3 Réponses :
Si vous l'utilisez comme un pointeur, il indiquera une adresse qui n'est pas disponible (Dréréférence, il provoquera une SEGENV) et vous pouvez l'utiliser afin de ne pas attribuer de données avec elle. P> null code> est pour les pointeurs. P>
int code> s ne sont que des valeurs int et non des références. Vous pouvez les attribuer à
null code> et tester si elles sont
null code> mais
null code> est juste un numéro (si utilisé comme
int code > (Je pense que c'est
0 code>). P>
Si vous les utilisez pour les indices, définissez-les sur Ensuite, vous n'aurez que pour vérifier s'ils sont Si vous utilisez le code de l'extrait, n'est-ce pas une option pour simplement vérifier si -1 CODE> n'est pas une mauvaise idée. P>
-1 code>. p>
null code> est
((vide *) 0) code>. C'est un pointeur. Mélange
int code> et
le pointeur code> n'est pas vraiment la meilleure pratique mais produit la sortie souhaitée si elle est bien utilisée. P>
i == 0 code>? p>
Eh bien Non, les chèques ci-dessus sont dans un étui de commutation afin que l'index n'a pas d'importance, mais si une condition de rideau est remplie et que la valeur de la variable n'a pas encore été modifiée.
null lorsque vous avez été attribué à l'entier convertit à zéro.
La seule solution de contournement consiste à choisir une valeur entière qui indiquera cette initialisation des besoins variable. Vous pouvez également définir des types de données plus complexes contenant les informations sur l'initialisation nécessaire P> int code> ne possède aucune valeur spéciale qui signifie "non initialisée" ou "aucune valeur". P>
typedef struct
{
bool initialized;
int val;
}myInt_t;
myInt_t x = {.initialized = false};
if (!x.initilaized) x.val = 100;
NULL évalue comme faux. Aussi 0
@Tibrogargan je ne peux pas utiliser 0 ..
@Darkleader: ma solution prendrait une sorte de consommation de temps et il pourrait y avoir une meilleure solution là-bas, mais vous pourriez: - définir une valeur très peu susceptible de se produire (n'aime pas celui-ci trop, mais parfois, il suffit de faire des choses Travail) - Ou, vous pouvez définir toute la variable une chaîne, définissez-les sur NULL si elles sont nulles, vous convertissez les variables en Int qui passe dans la valeur quelqueevale?