abracadabra

517 mots 3 pages
Il existe des équivalents nommés différemment :

Selon les langages, NULL s'écrit : NULL, Null, null ;
Dans certains langages (Pascal, Lisp, Clos, Smalltalk, Ruby…), il est nommé nil ;
En Python, l'équivalent de NULL est None ;
En C++11, la constante 0 ou la macro-constante NULL sont dépréciées en faveur du mot-clef nullptr.
C et C++Modifier

En C, NULL est défini dans le fichier d'en-tête de la bibliothèque standard du C, a pour valeur zéro et pour type void*[1].

En C++, NULL est remplacé par la constante 0, mais il est toujours possible d'utiliser une macro constante NULL qui — à la différence de celle utilisée en C — ne doit pas être de type void* (les pointeurs vers des types différents étant incompatibles).

En C++11, le mot clef nullptr est introduit pour remplacer la constante 0 et la macro-constante NULL.

Voici un exemple de code montrant l'initialisation d'un pointeur à NULL, avant d'être utilisé pour stocker l'adresse d'une variable :

int a = 2; // Déclaration de la variable a de type int (entier) et initialisée avec 2 int *p = NULL; // Déclaration d'un pointeur sur un int qui vaut NULL p = &a; // L'adresse de a est affectée au pointeur p
*p = 5; // p est déréférencé pour affecter 5 à la variable a
La valeur réellement utilisée comme pointeur nul par le processeur peut, sur certains systèmes, être différente de l’adresse spéciale 0 ; cela relève de la mécanique interne aux compilateurs[2]. Cependant au niveau du C, NULL représente toujours un zéro, et doit être utilisé uniquement dans le but de désigner un pointeur qui ne pointe sur rien ; en ce sens, parfois (et toujours en C++, où pointeurs et données sont clairement distincts), sa définition est agrémentée d'un type, ((void*)0) ou ((char*)0).

Différence avec NUL
Bien que cela ne pose généralement pas de problème de compilation en C (car une conversion implicite a lieu), le pointeur NULL ne doit pas être confondu avec le caractère ASCII NUL (un seul L) qui est utilisé pour

en relation

  • Abracadabra
    1804 mots | 8 pages
  • Abracadabra
    10508 mots | 43 pages
  • Écriture d'invention abracadabra
    1830 mots | 8 pages
  • Marketing
    6777 mots | 28 pages
  • marseille jules supervielle
    1193 mots | 5 pages
  • Dissert
    595 mots | 3 pages
  • L'archéologie
    2571 mots | 11 pages
  • Publicté
    632 mots | 3 pages
  • Dissertation géo
    324 mots | 2 pages
  • Analyse ingenu
    267 mots | 2 pages