Articles of struct

passer le pointeur struct aux fonctions ne fonctionnant pas

Motif: Passer des structures à des fonctions telles que nous puissions les changer dans n’importe quelle fonction et récupérer n’importe quelle valeur dans n’importe quelle fonction. J’ai récupéré ce code sur: http://cboard.cprogramming.com/c-programming/126381-passing-structure-reference-through-4-functions.html#post942397 Je l’ai légèrement modifié et le voici: struct_passing.h typedef struct thing { char *x; }thing_t; struct_passing.c #include #include “struct_passing.h” void f4(thing_t *bob) { […]

Erreur ‘une valeur de type «X *» ne peut pas être affectée à une entité de type «X *»’ lors de l’utilisation de la structure typedef

Voici la structure que j’utilise pour les nœuds … typedef struct { struct Node* next; struct Node* previous; void* data; } Node; et voici la fonction que j’utilise pour les lier void linkNodes(Node* first, Node* second) { if (first != NULL) first->next = second; if (second != NULL) second->previous = first; } maintenant visual studio […]

C structure globale anonyme /

J’ai une variable uint64 qui ne nécessite souvent qu’un access 32 bits élevé ou faible. J’utilise un ARM Cortex M0 32 bits, et pour accélérer le processus, je tente de superposer la variable uint64 à deux variables uint32 en C, en utilisant des structures anonymes dans l’espoir d’éviter l’arithmétique de pointeur pour accéder aux membres. […]

L’initialisation de la structure ne fonctionne pas avec malloc

J’ai une petite expérience en C que j’essaie de comprendre et j’ai rencontré quelque chose que je ne peux pas expliquer. Disons que j’ai la structure suivante: struct World { Things* things; }; et les fonctions suivantes: void initWorld(World *world); void addThingToWorld(World *world, Thing *thing); Maintenant, selon l’implémentation d’ initWorld et la manière dont je […]

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, […]

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 […]

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 […]

Tri d’un tableau de pointeurs de structure à l’aide de qsort

J’obtiens des résultats étranges en essayant d’utiliser qsort sur ce tableau de structures. J’ai cette structure: struct access_data{ int sector; int arrival_time; int checked; int processed; }; Je construis un tableau de pointeurs access_data à partir d’un fichier de manière à ce qu’ils soient sortingés par arrival_time, mais je dois les sortinger par secteur plus […]

Comment utiliser une Union pour stocker 2 structures différentes dans un tableau 1 C

Je voudrais créer un tableau pour stocker 2 types de structures C – Employee et son “enfant”, Manager . J’ai créé une Person syndicale pour tenir l’un ou l’autre, puis j’ai essayé de créer un tableau avec ce dernier, mais cela ne fonctionne pas. Comment puis-je faire fonctionner un tel tableau? Le code correspondant est […]

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){ […]