Articles of structure des

Qu’est-ce qui est plus rapide dans C: structures ou tableaux?

Je veux implémenter (ce qui représente abstraitement) une masortingce 4×4 bidimensionnelle. Tout le code que j’écris pour la multiplication de masortingce et cetera sera entièrement “déroulé” pour ainsi dire, c’est-à-dire que je n’utiliserai pas de boucles pour accéder aux entrées de données et les écrire dans la masortingce. Ma question est la suivante: en C, […]

Opérateur de flèche contre opérateur de point

Il me semble que l’opérateur de flèche de C (->) est inutile. L’opérateur de points (.) Devrait suffire. Prenez le code suivant: typedef struct { int member; } my_type; my_type foo; my_type * bar; int val; val = foo.member; val = bar->member; Nous voyons que l’opérateur de flèche doit être utilisé pour déréférencer la barre. […]

Initialisation d’un tableau de structure dans un tableau de structure

J’ai une question dans l’initialisation de mon tableau de structure à l’intérieur d’un tableau de structure. par exemple si j’ai un code comme ci-dessous: #include int main() { typedef struct { int a; int b; int c; } FIRST_T; typedef struct { int x; int y; int z; FIRST_T *p; } SECOND_T; FIRST_T p1[]={{1,2,3},{3,4,5},{6,7,8}}; FIRST_T […]

Pointeur d’initialisation de la structure sur NULL

J’ai un problème avec une structure dans une structure: typedef struct BrickStruct { int type; SDL_Rect Brick_Coordinates; SDL_Surface *Brick_Surface = NULL; }BrickStruct; mon compilateur dit cela à propos de la ligne avec la structure SDL_Surface : error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__atsortingbute__’ before ‘=’ token Mais je ne comprends pas vraiment parce que […]

Tableau de structures et arithmétique de pointeur

Comment accéder aux tableaux de structures à l’aide de l’arithmétique de pointeur? supposons que j’ai une structure struct point{ int x; int y; }collection[100]; Supposons que j’ai une fonction int func(struct point *collection,int size) Dans cette fonction, j’accède à l’élément comme indiqué ci-dessous. collection[0].x Est-ce la même chose que *(collection + 0).x ? Depuis le […]

Accéder à une variable de structure double pointeur

Un code: typedef struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS { ULONG Size; WdfUsbTargetDeviceSelectConfigType Type; union { struct { PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor; PUSB_INTERFACE_DESCRIPTOR* InterfaceDescriptors; ULONG NumInterfaceDescriptors; } Descriptor; struct { PURB Urb; } Urb; } Types; } WDF_USB_DEVICE_SELECT_CONFIG_PARAMS, * PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS; WDF_USB_DEVICE_SELECT_CONFIG_PARAMS parameters; typedef struct _USB_INTERFACE_DESCRIPTOR { UCHAR bLength ; UCHAR bInterfaceClass ; UCHAR bInterfaceSubClass ; } USB_INTERFACE_DESCRIPTOR, *PUSB_INTERFACE_DESCRIPTOR ; Capable d’accéder […]

Structure et pointeur

Je ne parviens pas à obtenir l’adresse mémoire d’entrée d’une variable membre d’une structure. J’ai essayé de deux manières, dont l’une ne fonctionnait pas correctement. Ce serait très bien si vous me donniez des conseils. Tout d’abord , j’ai défini une structure appelée BITMAP_HEADER. struct BITMAP_HEADER { WORD bfType ; DWORD bfSize ; WORD bfReserved1 […]

Pourquoi un tableau de caractères a-t-il besoin de strcpy et non de star de caractères – en utilisant des structures en C

J’ai un malentendu concernant ce code – typedef struct _EXP{ int x; char* name; char lastName[40]; }XMP …main… XMP a; a.name = “eaaa”; a.lastName = strcpy(a.lastName, “bbb”); Pourquoi ne puis-je pas utiliser: a.lastName = “bbbb”; et c’est tout?

Structure d’allocation de mémoire

struct node{ int data; struct node * next; }; Comment le compilateur alloue-t-il de la mémoire pour le membre “next” lorsque nous n’avons pas encore alloué de mémoire pour la structure “struct node”

ISO C interdit les accolades d’initialisation vides en C

J’ai une structure comme celle-ci: typedef struct { int a; int b; int c; int d; } Hello; alors je le déclare de cette façon: Hello hello[6] = {}; Ensuite, j’ai eu cet avertissement: ISO C interdit les accolades d’initialisation vides, de toute façon je pense que je dois l’initialiser, comment le faire correctement?