Articles of pointeurs

Existe-t-il des garanties concernant l’ordre de la structure C?

J’ai beaucoup utilisé les structures et j’ai vu des choses intéressantes, notamment *value au lieu de value->first_value où valeur est un pointeur sur struct, first_value est le tout premier membre, *value sûre? Notez également que les tailles ne sont pas garanties en raison de l’alignement, quelle est la valeur d’alginment basée sur la taille de […]

Type de tableau incomplet?

Lorsque j’ai compilé le code suivant avec gcc -Wall -pedantic -ansi -std=c89 , il a été compilé avec succès sans donner d’erreur à l’affectation du pointeur. Notez que je convertis de int (*)[4] en int (*)[] . int arr[4]; int (*p_arr)[] = &arr; En supposant qu’il y ait une raison d’autoriser cette affectation (incompatible?), Lorsque […]

Avoir une fonction change la valeur représentée par un pointeur en C

J’ai une fonction main qui a un caractère, j’essaie de passer un pointeur sur ce caractère dans une fonction et de le changer de A en B mais cela ne semble tout simplement pas le changer. L’exemple présenté ici n’est que l’état actuel du code. J’ai essayé de nombreuses variantes différentes. Il est donc possible […]

Échangez les pointeurs de deux tableaux dans une fonction

J’écris un mergesort sans la partie copie dans un tableau temporaire supplémentaire. Pour cette raison, je crée un tableau auxiliaire aux int * aux aux = (int *) calloc(n, sizeof(int)); où n est la taille du tableau. Dans la fonction de fusion, je veux permuter les deux tableaux à la fin en utilisant leur pointeur […]

Pourriez-vous m’aider à comprendre les pointeurs s’il vous plaît?

Je sais que cela a déjà été demandé, mais ces questions n’ont pas été abordées, mais pourquoi Permettez-moi de vous expliquer. Je viens de parcourir un tutoriel qui a généré des entiers et des pointeurs pour vous montrer comment faire. int anInteger = 50; int *anIntPointer = &anInteger; Donc, pour configurer un pointeur, j’atsortingbue une […]

Allouer de la mémoire pour un pointeur sur une structure dans une fonction

J’essaye d’écrire un programme séparé qui appelle une fonction pour allouer dynamicment de la mémoire à un certain nombre de structures “student”. Mon programme principal était trop volumineux, alors j’ai créé un programme plus petit pour m’aider à comprendre plus facilement ce que je fais: #include #include #include #include “memtest.h” void structMemInit(myName **); int main(void){ […]

Quel est le problème avec ce code C (strcpy)?

int main() { char *w; strcpy(w, “Hello Word”); printf(“%s\n”, w); return 0; } Quel est le problème avec la façon dont le pointeur de caractères est utilisé dans le code ci-dessus?

adresse de pointeur malloc dans la différence de fonction principale et autre

J’ai la question suivante. Pourquoi y a-t-il une différence dans les adresses des deux pointeurs dans l’exemple suivant? C’est le code complet: #include #include void *mymalloc(size_t bytes){ void * ptr = malloc(bytes); printf(“Address1 = %zx\n”,(size_t)&ptr); return ptr; } void main (void) { unsigned char *bitv = mymalloc(5); printf(“Address2 = %zx\n”,(size_t)&bitv); } Résultat: Address1 = 7ffe150307f0 […]

Créer une liste et structurer des tableaux en utilisant C

Je commence actuellement avec C, alors j’ai décidé d’essayer de créer ma propre liste personnalisée. Voici le code: #include struct list { char data[10]; struct list *n; }; void clist(struct list *a) { int j=(sizeof(a)/sizeof(a[0])); j–; for(int i=0; i<j-1; i++) { struct list *next=&a[i+1]; a[i].n=next; } } int main() { struct list first = {.data="one", […]

Struct et pointeur à pointeur

J’apprends les listes de liens et comment les créer en C avec des structures et des pointeurs. J’ai un exemple ci-dessous. D’après ma compréhension, le push () appelé passe l’emplacement de mémoire de début de notre structure où le nœud principal est un argument. Le paramètre de notre fonction push () prend un nœud struct […]