PDA

Visualizza la versione completa : [C++] #define scritta in modo strano, cosa significa?


warcomeb
09-03-2010, 14:37
Salve a tutti,
oggi ho sbattuto la testa con una #define scritta (per me) in maniera molto strana!
potete aiutarmi a decifrarla?

grazie



static sc_msg_def texts[] = {
#define SC_DEFINE_MESSAGE(id,n,unused) \
{ (id), 0u, {0u}, 0u, {0u}, 0u, 0u, {0u}, 0, n },

#undef SC_UTILS_IDS_H
#include "sysc/utils/sc_utils_ids.h"
};


non riesco a capire cosa significano quegli 0 e quelle u!!

grazie

Marco

MacApp
09-03-2010, 15:32
Originariamente inviato da warcomeb
non riesco a capire cosa significano quegli 0 e quelle u!!

unsigned


http://www.cs.mun.ca/~michael/c/constants.html
Integer constants can also be suffixed with a U (or u) or L (or l), which is used to indicate that the constant is unsigned or long, respectively. These suffixes may be combined. E.g., 1L is a long integer constant with the value 1, 0xffffffffUL and 123lu are unsigned long integer constants, and 123u is an unsigned integer constant.

warcomeb
10-03-2010, 09:34
grazie mille! non ne avevo proprio idea!

quindi dato che gli elementi dell'array sono delle strutture con all'interno degli unsigned deduco che quei "0u" servono ad inizializzare quegli elementi!

grazie

Marco

Loading