RECHERCHEZ parmi plus de 10 000 articles de référence ou pratiques et 4 000 articles d'actualité
PAR DOMAINE D'EXPERTISE
PAR SECTEUR INDUSTRIEL
PAR MOTS-CLES
NAVIGUER DANS LA
CARTOGRAPHIE INTERACTIVE
DÉCOUVREZ toute l'actualité, la veille technologique GRATUITE, les études de cas et les événements de chaque secteur de l'industrie.
Article précédent
Langages à objetsArticle de référence | Réf : H3068 v1
Auteur(s) : Christian QUEINNEC
Date de publication : 10 févr. 2002
Article suivant
Langage JavaCet article fait partie de l’offre
Technologies logicielles Architectures des systèmes (225 articles en ce moment)
Cette offre vous donne accès à :
Une base complète et actualisée d'articles validés par des comités scientifiques
Un service Questions aux experts et des outils pratiques
Des Quiz interactifs pour valider la compréhension et ancrer les connaissances
Présentation
Lire l'article
Bibliographie & annexes
Inclus dans l'offre
Les instructions sont rassemblées en fonctions. Les fonctions factorisent des traitements et luttent ainsi contre la redondance. Les fonctions sont nommées et typées. Une fonction spécifie le type des arguments qu’elle attend et le type du résultat qu’elle renvoie. Un type spécial existe, nommé void (aucune valeur de ce type n’existe), pour signifier qu’une fonction ne renvoie aucun résultat (ce que l’on nomme une procédure en Pascal).
Une nouvelle instruction spéciale, nommée return, permet non[nbsp ]seulement d’imposer le résultat d’une fonction mais aussi d’interrompre l’invocation de ladite fonction pour lui faire renvoyer immédiatement ce dit résultat. La fonction compter_lignes, précédemment donnée en exemple, illustre l’emploi d’un return au sein d’une boucle sans fin.
Le corps d’une fonction est un bloc pouvant, comme tout bloc, comporter des variables locales à ce bloc. Les variables (on dit aussi les paramètres) d’une fonction ont pour portée le corps de la fonction. Variables de fonctions et variables locales de bloc ont une durée de vie réduite à leur corps ou bloc. Les variables locales de bloc sont dites automatic en jargon et sont allouées dans la pile d’exécution. Elles sont désallouées lorsque l’on sort du bloc. Allocation et désallocation en pile sont particulièrement économiques : une seule instruction suffit à déplacer le pointeur de sommet de pile, quel que soit le nombre d’octets considérés. C’est plus cher qu’une allocation statique effectuée par le compilateur (zéro instruction à l’exécution) mais extraordinairement moins cher qu’un appel à l’allocateur dynamique en mémoire, la fonction malloc.
int
alloue_1K_et_invoque (int (*f) (void* zone))
{
char zone[1024];
return f((void*) &zone);
}
La fonction alloue_1K_et_invoque prend une fonction en argument sous le nom f, alloue un kilooctet en pile puis invoque f en lui fournissant cette zone allouée. Lorsque la fonction f renvoie[nbsp ]un[nbsp ]résultat, ce résultat devient celui de la fonction alloue_1K_et_invoque et le kilooctet est désalloué au passage. Si l’allocation en pile est peu coûteuse, elle nécessite de bien comprendre les relations qui existent entre les trois zones où peuvent résider les données :
la zone statique allouée à...
Vous êtes abonné à cette offre ?
Connectez-vous !
Vous souhaitez découvrir cette offre ?
Cet article est inclus dans l'offre :
TECHNOLOGIES LOGICIELLES ARCHITECTURES DES SYSTÈMES
(1) - KERNIGHAN (B.W.), RITCHIE (D.M.) - The C Programming Language. - Prentice-Hall (1978).
(2) - HARBISON (S.P.), STEELE (G.L.) - C : A Reference Manual. - Prentice-Hall (1991).
(3) - BANAHAN (M.) - The C Book, Featuring the draft ANSI C Standard. - Addison Wesley (1988).
(4) - BRAQUELAIRE (J.P.) - Méthodologie de la programmation en langage C, bibliothèque standard - API POSIX. - 3e éd., Masson (1998).
(5) - DELANNOY (C.) - La référence de C norme ANSI/ISO. - Eyrolles (1998).
(6) - DARNELL (P.A.), MARGOLIS (P.E.) - C, a Software Engineering Approach. - 3e éd., Springer-Verlag (1996)
...
Site historique http://www.lysator.liu.se/c/index.html
EiC : The embeddable/extensible interactive, pointer-safe, bytecode C interpreter/compiler
Foire aux questions http://www.eskimo.com/~scs/C-faq/top.html
Free Software Foundation FSF http://www.fsf.org
Licence GPL (Gnu Public License) http://www.gnu.org/copyleft/gpl.html
Guides de style pour C http://www.cs.umd.edu/~nelson/classes/resources/cstyleguide/
Outil d’analyse statique de programmes C http://lclint.cs.virginia.edu/
Carte de référence de C http://www.refcards.com/
Dictionnaire du jargon http://www.tuxedo.org/~esr/jargon/
HAUT DE PAGE
Groupe de normalisation ISO C http://www.dkuug.dk/JTC1/SC22/WG14/
ISO/CEI 9899 : 1990 Langage de programmation - C
ISO/CEI 9899 : 1999 Langage de programmation - C
HAUT DE PAGE
Vous êtes abonné à cette offre ?
Connectez-vous !
Vous souhaitez découvrir cette offre ?
Cet article est inclus dans l'offre :
TECHNOLOGIES LOGICIELLES ARCHITECTURES DES SYSTÈMES
DÉTAIL DE L'ABONNEMENT :
TOUS LES ARTICLES DE VOTRE RESSOURCE DOCUMENTAIRE
Accès aux :
Articles et leurs mises à jour
Nouveautés
Archives
Articles interactifs
Formats :
HTML illimité
Versions PDF
Site responsive (mobile)
Info parution :
Toutes les nouveautés de vos ressources documentaires par email
DES ARTICLES INTERACTIFS
Articles enrichis de quiz :
Expérience de lecture améliorée
Quiz attractifs, stimulants et variés
Compréhension et ancrage mémoriel assurés
DES SERVICES ET OUTILS PRATIQUES
Archives
Technologies anciennes et versions
antérieures des articles
Votre site est 100% responsive,
compatible PC, mobiles et tablettes.
FORMULES
Formule monoposte | Autres formules | |
---|---|---|
Ressources documentaires | ||
Consultation HTML des articles | Illimitée | Illimitée |
Quiz d'entraînement | Illimités | Illimités |
Téléchargement des versions PDF | 5 / jour | Selon devis |
Accès aux archives | Oui | Oui |
Info parution | Oui | Oui |
Services inclus | ||
Questions aux experts (1) | 4 / an | Jusqu'à 12 par an |
Articles Découverte | 5 / an | Jusqu'à 7 par an |
Dictionnaire technique multilingue | Oui | Oui |
(1) Non disponible pour les lycées, les établissements d’enseignement supérieur et autres organismes de formation. |
||
Formule 12 mois 2 060 € HT |
Autres formules |
2 - COMPILATION ET MACROEXPANSION
6 - FONCTIONS
Information
Quiz d'entraînement bientôt disponible
TECHNIQUES DE L'INGENIEUR
L'EXPERTISE TECHNIQUE ET SCIENTIFIQUE
DE RÉFÉRENCE
ÉDITION - FORMATION - CONSEIL :
Avec Techniques de l'Ingénieur, retrouvez tous les articles scientifiques et techniques : base de données, veille technologique, documentation et expertise technique
SOLUTION EN LIGNE
Automatique - Robotique | Biomédical - Pharma | Construction et travaux publics | Électronique - Photonique | Énergies | Environnement - Sécurité | Génie industriel | Ingénierie des transports | Innovation | Matériaux | Mécanique | Mesures - Analyses | Procédés chimie - bio - agro | Sciences fondamentales | Technologies de l'information
PAIEMENT
SÉCURISÉ
OUVERTURE RAPIDE
DE VOS DROITS
ASSISTANCE TÉLÉPHONIQUE
+33 (0)1 53 35 20 20