Articles of pointeurs

Un programme c de papier GATE

Bonjour à tous, j’ai passé mon examen GATE et dans cet examen, il y avait une question: Qu’est-ce que le fragment suivant du programme C est imprimé? char c [] = “GATE2011”; char *p =c; printf ( “%s”, p+p [3] − p [1]) ; options: (A) GATE2011 (B) E2011 (C) 2011 (D) 011 La réponse […]

Tableau de tableaux, de différentes tailles

Je vais avoir un tableau, qui a des tableaux dans chaque cellule. Par exemple, le grand tableau s’appelle arr : int a[3] = {3, 2, 1}; int b[2] = {2, 1}; int *arr[2] = {a, b} Maintenant, le problème est, si je veux imprimer les petits arrs, à l’intérieur du grand tableau. Voici mon code: […]

Pointeur en fonte à utiliser avec qsort

Cette main d’extrait de code copiée à partir d’un livre que je lis: /* scmp: ssortingng compare of *p1 and *p2 */ int scmp(const void *p1, const void *p2) { char *v1, *v2; v1 = *(char **) p1; v2 = *(char **) p2; return strcmp(v1, v2); } Cette fonction est utilisée avec qsort pour sortinger […]

Tableau de taille 0 à la fin de la structure

Mon professeur d’un cours de programmation système que je suis en train de suivre nous a dit aujourd’hui de définir une structure avec un tableau de longueur nulle à la fin: struct array{ size_t size; int data[0]; }; typedef struct array array; C’est une structure utile pour définir ou initialiser un tableau avec une variable, […]

Échange d’objects à l’aide de pointeurs

J’essaie d’échanger des objects pour un problème de devoir utilisant des pointeurs vides pour échanger des objects. La déclaration de ma fonction doit être: void swap(void *a, void *b, size_t size); Je ne cherche pas le code exact pour savoir comment le faire afin de pouvoir le résoudre moi-même, mais je ne suis pas sûr […]

Pointeur sur une structure inconnue ou incomplète

Pourquoi est-il valide de définir un type en tant que pointeur sur une structure non définie en C? Je sais que ce n’est pas un programme utile, veuillez vous abstenir de dire “vous n’avez pas défini ceci ou cela”. La discussion portait sur le pointeur arithmétique sur un type opaque. Désolé de déranger trop de […]

passer un tableau 2D à une fonction

gcc 4.6.2 c89 J’ai le tableau 2D suivant que je souhaite transmettre à une fonction: char elements[MAX_NUM_ELEMENTS][MAX_STRING_LEN] = {{0}}; Mon prototype de fonction est: int get_elements(char **elements) Et j’appelle la fonction comme ceci: get_elements(elements); Cependant, j’obtiens l’erreur suivante: expected ‘char **’ but argument is of type ‘char (*)[128]’ Tous les tableaux se superposent en pointeurs, […]

C: Pourquoi le pointeur et le pointeur ont-ils des valeurs différentes?

Si j’exécute ce qui suit sur OS X: int main (void) { int* n; // initialise(declare) pointer *n = 20; // the value in address pointed to by n is 20 printf(“n: %i, n&: %i\n”, n, &n); return 0; } Je reçois: n: 1592302 512 , n &: 1592302 480 Pourquoi ces valeurs différentes?

Assignation rend le pointeur d’Int sans sortie

Je comstack du code pour un programme qui mémoise des nombres de fibonacci. Le programme fonctionne parfaitement, mais lorsque je comstack dans un environnement Linux, je reçois cet avertissement avant de comstackr. line 61: warning: assignment makes pointer from integer without a cast [enabled by default] Voici un extrait de code indiquant l’origine de cet […]

Opérations autorisées sur un pointeur éventuellement non valide en raison de l’interprétation ssortingcte de la norme C

Question originale (veuillez voir “Éditer: Scénario mis à jour”) Cette question peut constituer, d’une manière ou d’une autre, une copie d’un vaste ensemble de questions sur le comportement indéfini des pointeurs sur des objects hors de scope, etc. Toutes les questions que j’ai trouvées ici à ce sujet sont principalement des cas d’utilisation spécialisés. Je […]