Quel est le désavantage d'utiliser des pointeurs en C?

le seul inconvénient que je sais c'est que si vous commettez une erreur lors de la manipulation des pointeurs, il peut même conduire à l'écrasement de votre système ....
 
sundarmeenakshi, Les erreurs les plus insidieuses se produire avec des pointeurs non initialisés. Supposons un pointeur a une certaine valeur aléatoire. Vous stockez les données et les récupérer en utilisant le pointeur. 1) * pointeur = x. 2) x = * pointeur. Cela fonctionne très bien tant que l'adresse (au hasard), représenté par le pointeur n'est pas utilisé pour autre chose. Si l'adresse est utilisé pour autre chose, alors que les données (ou instruction) à l'emplacement représenté par le pointeur sera détruite par l'exécution de l'instruction de la 1 ci-dessus. Maintenant, voici la partie la plus amusante: Supposons que vous insérez une instruction printf pour essayer de corriger le problème. Après recompilation, l'adresse aléatoire représenté par le pointeur est utilisé pour contenir un autre morceau de données ou d'instructions, et le problème d'origine disparaît, pour réapparaître ailleurs dans votre programme. . L'utilisation de pointeurs requries discipline. La règle numéro un est «Emporter initialiser des pointeurs". Si vous êtes chanceux, votre compilateur va initialiser la valeur du pointeur null (zéro), qui se traduira par une erreur d'exécution dans la plupart des environnements. Cordialement, Kral
 
Thier serait inconvénients de pointeurs si vous n'êtes pas les manipuler correctement. Et dans certains cas, pourrait ne pas être plus facile à déboguer.
 
ils sont faciles à comprendre, mais de ne pas utiliser correctement. si vous donnez une structure en paramètre d'une fonction et si cela struct est grand, en utilisant un pointeur que vous allez utiliser moins de mémoire pour le programme, il tourne plus vite. le même produit avec des tableaux. je pense que les pointeurs sont essentielles pour un programmeur raison de la vitesse et la taille.
 
Les pointeurs sont très puissant vous permettant d'écrire du code rapide et efficace. Ils sont un des points forts du langage C. Code C sans les pointeurs, c'est comme la bière sans alcahol, beaucoup de corps, mais pas de punch. Il n'ya aucun inconvénient à pointeurs en C.
 
Je vous conseille btbass de jeter un oeil à travers à n'importe quel livre, il étudie .... quand un pointeur n'est pas correctement intialised ou manipulés correctement, vous pouvez être assuré que quelque chose de mauvais allait se passer au PC ur .... un programme est censé être sûr en toutes circonstances ....
 
si le pointeur a commencé pointant vers la mémoire système réservée alors qu'elle pourrait causer instabilité sytem. comme des fenêtres a une surface spécifique dans la mémoire RAM réservée aux OS, si un pointeur fait cahnges à ce domaine alors il sera un virus comme le fonctionnement. que certaines choses drôles ouvrir notre CD-ROM, qui est juste en accédant à ce domaine
 
Il est tout aussi facile de bousiller tout aspect d'un programme, en utilisant des variables unintialised, mélangeant entiers signés et non signés, ne pas attraper des exceptions, les pointeurs sont pas plus faciles à visser jusqu'à que toute autre caractéristique. Pointeurs vous aider à écrire du code efficace élégante. Quand j'écris un programme pour un pc, j'utilise c #, un langage de programmation moderne qui surmonte beaucoup des oublis qui sont faciles à manquer. Mais beaucoup de programmation implique 8 micros bits, et C est roi pour ce type d'application. J'utilise aussi l'analyse statique de mon code en utilisant la charpie. Lint trouverez toutes sortes d'insectes obscurs. Si votre code est en chute libre en raison de pointeurs uninitialised, ce n'est pas la faute de C! Mais votre manque de tests appropriés. Utilisation des pointeurs devraient être encouragés, ils donnent c son bord.
 
Vous devez également vous assurer que vous de référence et les déréférencer propoerly, sinon vous allez être en utilisant l'adresse au lieu des données.
 

Welcome to EDABoard.com

Sponsor

Back
Top