J’essaie d’écrire un programme “ArrayList” (similaire à Java ArrayList ) qui se développera automatiquement à l’aide de realloc , de sorte que le programmeur n’aura pas à se soucier de l’espace de stockage dans les tableaux. Ceci est mon code: #include #include #include #include #define ARR_DEFAULT_SIZE 20 #define INCR 10 #define ARRTYPE char // Files […]
Quelle est la différence entre un tableau malloc() et un tableau normal lorsque, dans les deux cas, je dois spécifier la taille de la mémoire, par exemple char* arr = malloc(50 * sizeof(char)) contre int arr [50]
J’ai ces définitions: int data = uartBaseAddress[UART_DATA_REGISTER / 4]; // data coming from UART RX port char message[20]; // array of 20 chars Maintenant, quand j’essaie de faire ceci: message[0] = (char) data; printf(“%x”, message[0]); Il imprime (par exemple): “ffffff9c” . Bien sûr, je ne veux que les 8 derniers bits (“9c”) et je ne […]
J’ai le programme suivant qui essaie de tokenize une chaîne (basée sur l’espace) et l’écris dans un tableau char **. #include #include #define len 180 void tokenize(char *str, char **tokens) { int l = 0, index = 0; int i = 0; int str_i; int tok_i; while(*str) { if (*str == ‘ ‘) { tokens[i] […]
étant donné le code suivant: /* signatures */ int getParams(char params[MAX_PARAM_LEN][MAX_LINE_LEN]); int getVersion(const char params[MAX_PARAM_LEN][MAX_LINE_LEN], const char* tagName ); /* initializing */ char params[MAX_PARAM_LEN][MAX_LINE_LEN] = {}; /* getting parameters */ paramCount = getParams(params); /* OK, params match with getParams signature */ /* processing the params array */ i = getVersion(params, “version”); /* warning: passing arg […]
#include #include int main (int argc, char *argv[]) { int* arr1 = (int*)malloc(sizeof(int)*4); int arr2[4]; printf(“%d \n”, sizeof(arr1)); printf(“%d \n”, sizeof(arr2)); free(arr1); return 0; } Sortie 8 16 Pourquoi?
Le contexte: J’ai programmé en C pendant environ 2 ans avant de découvrir qu’un a[i] n’était que le sucre syntaxe pour *(a + i) et qu’il était donc équivalent à * (i + a) et i[a] . Ma réalité a été bouleversée et beaucoup de “AHA!” moment de révélation suivi dans les prochains jours d’étude […]
J’ai la structure de tableau suivante: left , right , top top , left , right top , top , left Je veux le déclarer en C, je l’ai fait comme ceci: char *movements[][] = {{“left”,”right”,”top”}, {“top”,”left”,”right”}, {“top”,”top”,”top”} } Mais je reçois cette error : array has incomplete element type. Quel est le bon moyen […]
Est-il possible d’appeler un sous-programme Fortran depuis C / C ++, où l’un des arguments de Fortran est un tableau à forme différée? (J’espère que j’utilise le terme “forme différée” correctement.) Dans l’exemple ci-dessous, subr1() utilise une forme explicite et fonctionne subr2() , mais subr2() utilise une forme différée et provoque un segfault. Cette question […]
J’apprends le C grâce à la programmation d’un livre C: approche moderne. En ce moment, je vais faire des exercices sur les tableaux. L’un des exercices consiste à écrire un filtre qui imprime le message d’entrée différemment. Je me suis rendu jusqu’ici (voir le code ci-dessous), tout fonctionne correctement jusqu’à ce que le nombre de […]