background preloader

Apprenez à programmer en C !

Apprenez à programmer en C !

A l'assaut des pointeurs Jusqu'ici, nous avons uniquement créé des variables faites pour contenir des nombres. Maintenant, nous allons apprendre à créer des variables faites pour contenir des adresses : ce sont justement ce qu'on appelle des pointeurs. Mais… Les adresses sont des nombres aussi, non ? Ça revient à stocker des nombres encore et toujours ! C'est exact. Créer un pointeur Pour créer une variable de type pointeur, on doit rajouter le symbole * devant le nom de la variable. Code : C - Sélectionner Notez qu'on peut aussi écrire int * monPointeur ; . Comme je vous l'ai appris, il est important d'initialiser dès le début ses variables, en leur donnant la valeur 0 par exemple. Pour initialiser un pointeur, c'est-à-dire lui donner une valeur par défaut, on n'utilise généralement pas le nombre 0 mais le mot-clé NULL (veillez à l'écrire en majuscules) : Là, vous avez un pointeur initialisé à NULL . Que se passe-t-il ? Pourquoi pas l'adresse de la variable age ? int age = 10 ; int * pointeurSurAge = & age ; Hum.

Guide du débutant en développement iOS : Méthode et démarche pour un apprentissage efficace Si vous êtes un débutant complet, vous devez suivre tout le guide. Si vous maîtrisez déjà la programmation procédurale, vous pouvez commencer à la section III de ce guide. Si vous maîtrisez la programmation objet, vous pouvez commencer à la section IV de ce guide. Dans tous les cas, avant de commencer vous pouvez lire l'annexe à la section VI qui comporte quelques conseils utiles à toutes les étapes de votre apprentissage. ;) Règle N°1 : n'allez pas trop vite. La bible du C et votre nouveau livre de chevet. Alors deux possibilités. Vous maîtrisez la programmation procédurale dans un autre langage que le C. À noter que pour développer pour iOS, vous devez absolument avoir une bonne connaissance des design patterns ! Apple indique que les concepts les plus importants à connaître sont les patterns Model View Controller, Delegation, Target-action ainsi que les techniques de Block objects et Sandboxing. Pas tout à fait. Cocoa Touch : le framework de développement iPod Touch, iPhone et iPad.

Cours de C/C++ Le C/C++ est un langage procédural, du même type que le Pascal par exemple. Cela signifie que les instructions sont exécutées linéairement et regroupées en blocs : les fonctions et les procédures (les procédures n'existent pas en C/C++, ce sont des fonctions qui ne retournent pas de valeur). Tout programme a pour but d'effectuer des opérations sur des données. La structure fondamentale est donc la suivante : ENTRÉE DES DONNÉES (clavier, souris, fichier, autres périphériques) | TRAITEMENT DES DONNÉES | SORTIE DES DONNÉES (écran, imprimante, fichier, autres périphériques) Ces diverses étapes peuvent être dispersées dans le programme. Les données manipulées sont stockées dans des variables, c'est-à-dire des zones de la mémoire. Le langage fournit des types de base et des opérations prédéfinies sur ces types. a=2+3 est donc strictement équivalent à : a=ajoute(2,3) Évidemment, des fonctions utilisateur peuvent être définies. 1.1. Les commentaires sont nécessaires et très simples à faire. 1.2.

Programme d'étude sur le C++ bas niveau n° 5 : encore plus de Pile Bienvenue dans ce cinquième opus de la série d'articles que j'écris sur le C++ bas niveau. Il s'agit du troisième article concernant la Pile, les fondamentaux ont été couverts il y a deux articles, l'article précédent ainsi que cet article sont juste des compléments qui permettent d'éclairer la compréhension de l'utilisation de la Pile en environnement win32 x86 utilisant la convention d'appel stdcall. Ensuite, nous pourrons aborder d'autres aspects « bas niveau » du langage C/C++. Les deux conventions d'appel (pour win32 et x86) que nous allons étudier sont la convention thiscall utilisée pour appeler des fonctions membres de classes non statiques et la convention fastcall qui utilise les registres plutôt que la Pile pour le passage des paramètres. Je suppose que vous êtes familier avec l'environnement de développement VS2010 et que vous savez écrire, lancer et déboguer un programme C++. Le code ci-dessous démontre tout ceci… cMySumOf.SumOf( iValOne, iValTwo ); Pourquoi ?

Lire et écrire dans des fichiers Pour lire et écrire dans des fichiers, nous allons nous servir de fonctions situées dans la bibliothèque stdio que nous avons déjà utilisée. Oui, cette bibliothèque-là contient aussi les fonctions printf et scanf que nous connaissons bien ! Mais elle ne contient pas que ça : il y a aussi d'autres fonctions, notamment des fonctions faites pour travailler sur des fichiers. Toutes les bibliothèques que je vous ai fait utiliser jusqu'ici ( stdlib . h , stdio . h , math . h , string . h …) sont ce qu'on appelle des bibliothèques standard. Ce sont des bibliothèques automatiquement livrées avec votre IDE qui ont la particularité de fonctionner sur tous les OS. Vous pouvez donc les utiliser partout, que vous soyez sous Windows, Linux, Mac ou autre. Les bibliothèques standard ne sont pas très nombreuses et ne permettent de faire que des choses très basiques, comme ce que nous avons fait jusqu'ici. Code : C - Sélectionner #include <stdlib.h> #include <stdio.h> Bien. fopen : ouverture du fichier . .

AJAX en clair Nous attirons votre attention sur le fait que tous les fichiers PHP, CSS et SQL sont écrits en UTF-8 sans BOM (Byte Order Mark), permettant ainsi d'utiliser les symboles comme Euro, etc. Le codage UTF-8 « standard », donc avec BOM, ajoute un caractère en début de fichier. C'est un espace insécable de largeur nulle « zero-width no-break space ». Ce caractère est invisible pour l'utilisateur. En fait, ce caractère n'a pas d'intérêt en UTF-8. Il est utile en UTF-16 ou UTF-32. Le fait de laisser le BOM en tête de fichier envoie un header au HTML du visiteur qui empêche donc par exemple de faire un session_start() par la suite. S'adressant à tous ceux qui maîtrisent la « programmation permettant de gérer un site Web », cet article a pour but de vous mettre en main, très facilement, un outil pour dynamiser vos pages Web grâce à l'emploi d'AJAX. Developpez.com possède déjà un grand nombre de tutoriels et d'articlesCours d'AJAX sur cette méthode AJAX. Vous y êtes, c'est aussi simple que cela. <?

La saisie de texte sécurisée Il existe plusieurs fonctions standards en C qui permettent de récupérer une chaîne de texte. Hormis la fonction scanf (trop compliquée pour être étudiée ici), il existe : gets : une fonction qui lit toute une chaîne de caractères, mais très dangereuse car elle ne permet pas de contrôler les buffer overflow ! fgets : l'équivalent de gets mais en version sécurisée, permettant de contrôler le nombre de caractères écrits en mémoire. Vous l'aurez compris : bien que ce soit une fonction standard du C, gets est très dangereuse. Tous les programmes qui l'utilisent sont susceptibles d'être victimes de buffer overflow. Nous allons donc voir comment fonctionne fgets et comment on peut l'utiliser en pratique dans nos programmes en remplacement de scanf . La fonction fgets Le prototype de la fonction fgets , situé dans stdio . h , est le suivant : Code : C - Sélectionner char * fgets ( char * str , int num , FILE * stream ); Il est important de bien comprendre ce prototype. Testons ! Quel est votre nom ?

Le compilateur Flash C++ passe en open source Le compilateur Flash C++ passe en open source Si vous développez un peu en Flash, voici une bonne nouvelle qui devrait vous intéresser. Adobe vient de rendre open source son compilateur Flash C++. Baptisée FlashCC ce compilateur permet d'importer et d'exploiter du code C ou C++ à destination du Web tout en conservant de bonnes performances, la compatibilité multi-navigateurs, la connexion avec les API Flash, ainsi que le support de l'accélération graphique. FlasCC est maintenant est disponible sur Github en tant que brique du projet CrossBridge. Il n'y a pas eu de grandes évolutions entre la version précédente et celle-ci mis à part que le passage en open source va permettre à tout à chacun de réaliser des forks ou d'intégrer le code du compilateur dans ses propres projets. Pour en savoir plus c'est par ici. Vous avez aimé cet article ?

Related: