Articles of typedef

Cosa significa “typedef void (* Something) ()” significa

Sto cercando di capire cosa significa, il codice che sto guardando ha in .h typedef void (*MCB)(); static MCB m_process; in .C MCB Modes::m_process = NULL; E a volte quando lo faccio m_process(); Ottengo difetti di segmentazione, probabilmente perché la memoria è stata liberata, come posso eseguire il debug quando viene liberata? Spero che le […]

Perché “typdef struct {struct S * s; } S; “contenente un puntatore allo stesso tipo di compilazione?

Sto provando a typedef una struct che contiene un puntatore ad un altro dello stesso tipo. Questo è quello che pensavo sarebbe la versione migliore: typedef struct Element { char value; struct Element *next; } Element; Perché questa variante compila anche eseguendo + ?: typedef struct { char value; struct Element *next; } Element; Per […]

Uso della parola chiave typename con typedef e new

Considera questo codice, template struct Sample { typename T::X *x; //declare pointer to T’s X }; Nel codice precedente, la parola chiave typename è richiesta dal compilatore, in modo che possa distinguere tra i tipi nidificati ei valori nidificati nei modelli. Ciò significa che, in assenza della parola chiave typename , il compilatore interpreterà questo […]

Che cos’è la “forward statement” e la differenza tra “typedef struct X” e “struct X”?

Sono un principiante nella programmazione in C e conosco la differenza tra la dichiarazione del tipo di struct e la dichiarazione di typedef struct. Mi sono imbattuto in una risposta che diceva che se definiamo una struttura come: typedef struct { some members; }struct_name; Quindi sarà come fornire un alias a una struttura anonima (dato […]

Perché usi typedef quando dichiari un enum in C ++?

Non ho scritto alcun C ++ in anni e ora sto cercando di tornarci. Ho poi trovato questo e ho pensato di rinunciare: typedef enum TokenType { blah1 = 0x00000000, blah2 = 0X01000000, blah3 = 0X02000000 } TokenType; Cos’è questo? Perché la parola chiave typedef utilizzata qui? Perché il nome TokenType appare due volte in […]

Se faccio un `typedef` in C o C ++, quando dovrei aggiungere` _t` alla fine del tipo typedef’ed?

Sono confuso quando dovrei aggiungere il _t finale ai tipi typedef ? Ad esempio, dovrei fare questo: typedef struct image image_t; o questo: typedef struct image image; Quali sono le regole generali? Un altro esempio, dovrei fare questo: typdef enum { ARRAY_CLOSED, ARRAY_OPEN, ARRAY_HALFOPEN } array_type_t; o questo: typdef enum { ARRAY_CLOSED, ARRAY_OPEN, ARRAY_HALFOPEN } […]

Quando dovrei usare typedef in C ++?

Nei miei anni di programmazione in C ++ (MFC) non ho mai sentito il bisogno di usare typedef , quindi non so davvero a cosa serve. Dove dovrei usarlo? Ci sono situazioni reali in cui si preferisce l’uso di typedef ? O è davvero più una parola chiave C specifica?

Come funziona typedef per i puntatori di funzione

Penso di poter soffrire della temuta “malattia programmatrice accidentale”, almeno quando si tratta di typedef e puntatori di funzione. Quindi ho sperimentato tutti i tipi di combinazioni che coinvolgono questi per analizzare i risultati sulla base di tutto l’output che ottengo. Ma mentre continuavo a provare diverse combinazioni, invece di analizzare i risultati, ora sono […]

C Typedef e Struct Question

Qual è la differenza tra queste due dichiarazioni, ed è una preferita rispetto all’altra? typedef struct IOPORT { GPIO_TypeDef* port; u16 pin; } IOPORT; typedef struct { GPIO_TypeDef* port; u16 pin; } IOPORT;

Cosa significa un typedef con parentesi come “typedef int (f) (void)”? È un prototipo di funzione?

typedef int (fc_name) (void); Qui fc_name è un qualsiasi simbolo C valido. Quanto è diverso questo da un puntatore di funzione typedef ?