Articles of c

Dans une expression C où entiers non signé et signé sont présents, quel type sera promu à quel type?

J’ai une question sur les règles de promotion des types de données en langage C. Le C99 dit que: Les promotions d’entier C exigent également que “si un int peut représenter toutes les valeurs du type initial, la valeur est convertie en int; sinon, elle est convertie en un entier non signé.” Ma question est […]

pointeur typedef const étrangeté

veuillez considérer le code suivant: typedef struct Person* PersonRef; struct Person { int age; }; const PersonRef person = NULL; void changePerson(PersonRef newPerson) { person = newPerson; } Pour une raison quelconque, le compilateur se plaint de la valeur en lecture seule non assignable. Mais le mot-clé const ne doit pas rendre le pointeur const. […]

Pourquoi #include n’est pas obligé d’utiliser printf ()?

Transcription de session: >type lookma.c int main() { printf(“%s”, “no stdio.h”); } >cl lookma.c Microsoft (R) 32-bit C/C++ Optimizing Comstackr Version 14.00.50727.762 for 80×86 Copyright (C) Microsoft Corporation. All rights reserved. lookma.c Microsoft (R) Incremental Linker Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. /out:lookma.exe lookma.obj >lookma no stdio.h

Quelles fonctions de la bibliothèque standard doivent (devraient) être évitées?

J’ai lu sur Stack Overflow que certaines fonctions C sont “obsolètes” ou “doivent être évitées”. Pouvez-vous s’il vous plaît me donner quelques exemples de ce type de fonction et la raison pour laquelle? Quelles alternatives à ces fonctions existent? Pouvons-nous les utiliser en toute sécurité – de bonnes pratiques?

lire une entrée séparée par des virgules avec scanf

J’ai l’entrée suivante: AG23,VU,Blablublablu,8 IE22,VU,FooBlaFooBlaFoo,3 and so on… Je veux qu’il “parsing” avec scanf en utilisant un code comme celui-ci: char sem[5]; char type[5]; char title[80]; int value; while(scanf(“%s,%s,%s,%d”, sem, type, title, &value) == 4) { //do something with the read line values } Mais l’exécution du code me donne: illegale instruction Comment illegale instruction […]

Opérateur sizeof () dans l’instruction if

#include int main(void) { if (sizeof(int) > -1) printf(“True”); else printf(“False”); } Il affiche False . Pourquoi sizeof () ne retourne-t-il pas une valeur dans le if ?

Comment passer un tableau 2D (masortingce) dans une fonction en C?

Je dois faire cela pour continuer les opérations sur la masortingce. Cela signifie-t-il qu’il doit être passé par référence? Cela suffira-t-il? void operate_on_masortingx(char masortingx[][20]);

C – pourquoi strcpy () est-il nécessaire

Quelqu’un peut-il m’expliquer s’il vous plaît pourquoi strcpy () est nécessaire pour affecter des chaînes à des tableaux de caractères, comme dans l’extrait de code suivant int main(void) { char s[4]; s = “abc”; //Fails strcpy(s, “abc”); //Succeeds return 0; } Quelle est la raison pour laquelle s = “abc” échoue? Et pourquoi strcpy () […]

Observer la récupération d’instructions obsolètes sur x86 avec du code à modification automatique

On m’a dit et j’ai lu dans les manuels d’Intel qu’il est possible d’écrire des instructions dans la mémoire, mais la queue de prélecture d’instruction a déjà récupéré les instructions obsolètes et exécutera ces anciennes instructions. Je n’ai pas réussi à observer ce comportement. Ma méthodologie est la suivante. Le manuel de développement de logiciels […]