Je suis assez confus par le code suivant: #include #include int main(int argc, char ** argv) { uint16_t a = 413; uint16_t b = 64948; fprintf(stdout, “%u\n”, (a – b)); fprintf(stdout, “%u\n”, ((uint16_t) (a – b))); return 0; } Cela retourne: $ gcc -Wall test.c -o test $ ./test 4294902761 1001 $ Il semble que […]
Ceci est mon programme: main() { printf(“hello world\n”); } Je reçois cet avertissement lors de la compilation: function should return a value Lorsque vous modifiez main() pour void main() , l’avertissement disparaît. Pourquoi est-ce si?
Quelqu’un pourrait-il s’il vous plaît exactement pourquoi les typedef s / #define s suivants ont été définis? Quelle est leur valeur par rapport aux originaux? typedef char CHAR; #define CONST const typedef float FLOAT; typedef unsigned __int64 DWORD64; //A 64-bit “double”-word?! typedef ULONGLONG DWORDLONG; //What’s the difference? typedef ULONG_PTR DWORD_PTR; //What’s the difference? typedef long […]
Comment short int (ou short) et int différent en C? Ils ont la même taille et la même gamme. Si elles sont essentiellement identiques, à quoi sert-il d’avoir deux types de données?
En C, existe-t-il un moyen de convertir une valeur ASCII saisie sous la forme d’un entier en caractère ASCII correspondant sous la forme d’un caractère?
récemment, j’ai trouvé que typedef dans mon code fonctionnait très différemment de ce que je proposais Un exemple comme celui-ci: typedef int *ptype; ptype v1 = 0, v2 = 0; Le résultat: v1 et v2 ont tous deux été définis en tant que pointeur sur le type int . Mais si vous remplacez simplement ptype […]
A un moyen d’obtenir le type de données en C? Par exemple: int foo; si (foo est int) { // faire quelque chose } ou quelque chose comme: if (typeof (toto) == typeof (int)) { // faire quelque chose } Merci d’avance.
En cherchant comment faire des chaînes de format printf() multiplates-formes en C (c’est-à-dire, en tenant compte du nombre de bits que j’attends de chaque argument entier de printf() ), j’ai parcouru cette section de l’article de Wikipedia sur printf() . L’article décrit les options non standard pouvant être passées dans les chaînes de format printf() […]
Étant nouveau pour le C, la seule utilisation pratique que je tire des pointeurs vides concerne les fonctions polyvalentes pouvant stocker différents types de données dans un pointeur donné. Par conséquent, je n’ai pas transtypé mon pointeur lors de l’allocation de mémoire. J’ai vu des exemples de code qui utilisent parfois des pointeurs vides, mais […]
Autant que je sache, c’est un “idiome” standard # define INT_MIN (-INT_MAX – 1) # define INT_MAX 2147483647 Question: Pourquoi la définition de INT_MIN n’est-elle pas -2147483648?