Outils pour utilisateurs

Outils du site


lang:c:syntaxe

Ceci est une ancienne révision du document !


Pointeur

Pointeur invalide : adresse “poison” 0xDEADBEEF.

Données

Attribute

__attribute__((weak))

Définir une variable (globale) ou une fonction avec un attribut weak indique au lieur un lien faible. Si le même symbole (sans weak) est trouvé par le lieur, c'est celui-là qui le remplacera.

Il est aussi possible de définir un prototype ou la déclaration d'une variable extern en weak. Dans ce cas, si le symbole n'est pas défini (avec ou sans l'attribut weak), le lieur ne posera pas de problème (pas de undefined reference to) et considérera que le symbole est à l'adresse null (attention aux pointeurs null).

extern const unsigned char __attribute__((weak)) variable; // Numéro de l'automate
 
const unsigned char __attribute__((weak)) variable = 1;
 
const unsigned char variable = 2;

Passage par référence d'un tableau dans une fonction

int & tab[10] n'est pas la bonne syntaxe à cause de la priorité des opérateurs. La bonne syntaxe est :

int (& tab)[10]

Manipulation des bits

Lever un bit :

nbyte |= (1 << 4);

Descendre un bit :

nbyte &= ~(1 << 4);
lang/c/syntaxe.1583523691.txt.gz · Dernière modification : de root