J’ai un tableau 2D de caractères, par exemple, char aList[numSsortingngs][maxLength] . idéalement, pendant l’exécution du programme, je veux pouvoir modifier le contenu d’une liste, c’est-à-dire append, modifier ou supprimer des entrées. Comme une liste est susceptible de changer, je ne souhaite pas avoir à recomstackr mon programme après chaque modification pour modifier une liste. Je […]
Les pointeurs sont très difficiles en C. Pour beaucoup de gens, il est difficile à comprendre, alors pour bien comprendre, j’ai écrit le code suivant: #include #include int main(int argc, char *argv[]) { int *p; // pointer -> will be dynamic allocated int *a; // array -> will be dynamic allocated // print before allocate […]
J’ai essayé d’écrire une fonction qui renvoie un tableau aléatoire de couleurs de pixels. Ainsi, lorsque j’appelle randomPalette(i) , la fonction crée un tableau aléatoire de i couleurs. Ci-dessous sont mes codes. Il dit erreur au random[colors] que l’expression doit avoir une valeur constante. Je ne sais pas pourquoi. Comment le réparer? pixel* randomPalette(int colors){ […]
J’écris du code incorporé pour faire l’interface avec un périphérique externe via SPI. Le dispositif a plusieurs registres de longueur variable et pour aider à garder les choses droites, j’ai défini la structure suivante typedef struct { uint16_t Signed :1; // Register is signed or unsigned uint16_t CommLengthBytes :3; // The width of the register […]
Dans le code suivant: void main() { char a[]={1,5,3,4,5,6}; printf(“%d\n”,*(a++)); //line gives error: wrong type argument to increment printf(“%d\n”,*(a+1)); } Quelle est la différence entre la ligne 4 et la ligne 5. Je ne reçois aucune erreur ni aucun avertissement concernant la ligne 5.
Pour le programme: #include int main(void) { int (*a)[2]; int b[5]; printf(“sizeof(int) : %zu\n”, sizeof(int)); printf(“sizeof(int*) : %zu\n”, sizeof(int*)); printf(“sizeof(b) : %zu\n”,sizeof(b)); printf(“sizeof((int*)b) : %zu\n”,sizeof((int*)b)); printf(“sizeof(&b[0]) : %zu\n”,sizeof(&b[0])); printf(“sizeof(a) : %zu\n”,sizeof(a)); printf(“sizeof(a[0]) : %zu\n”,sizeof(a[0])); printf(“sizeof(a[1]) : %zu\n”,sizeof(a[1])); return 0; } La sortie est: sizeof(int) : 4 -> Fact 1 sizeof(int*) : 8 -> Fact 2 […]
Pourquoi en C / C ++, il est nécessaire pour un paramètre func qui reçoit un MD arr à la taille de tous les sous-tableaux / dimensions? here (PDF): Il est dit que la seule différence entre MD arrs est que “le compilateur se souvient de chaque dimension imaginaire” mais lorsque je viole ces dimensions, […]
Je comprends dans VS que toutes les variables doivent être déclarées en haut d’un bloc, mais si je veux un VLA, c’est-à-dire. si je voulais faire quelque chose comme ça: int result = runalgorithm(); int vla[result]; le code ci-dessus n’est pas valide, car vla doit être déclaré en haut. Quelle est la bonne solution pour […]
Question idiote d’un nouveau programmeur C … Je reçois une erreur de segmentation dans le code suivant: #include int main(void) { double YRaw[4000000]={0}; return 0; } En utilisant GDB, j’obtiens le commentaire suivant: Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x00007fff5dd7b148 0x0000000100000f24 in main () at talk2me.c:18 18 double YRaw[4000000]={0}; […]
J’ai deux tableaux (dividende, diviseur): dividend[] = {1,2,0,9,8,7,5,6,6}; divisor[] = {9,8}; J’ai besoin du résultat (dividende / diviseur) en tant que: quotient[] = {1,2,3,4,5,6,7}; Je l’ai fait en utilisant la soustraction de tableau: soustrayez le diviseur du dividende jusqu’à ce que le dividende soit égal ou inférieur à 0, divisez le quotient par 1, mais […]