PDA

View Full Version : [Linguaggio C] typedef int pipe_t[2];


p4n4s0n1c
10-08-2020, 22:08
Ciao a tutti ragazzi sto imparando a programmare in c, qualcuno mi può spiegare cosa significa questa linea di codice?

typedef int pipe_t[2];

Grazie mille in anticipo.

Kaya
11-08-2020, 09:25
Definisci un array di due elementi chiamato pipe_t come interi.

un esempio facile da capire è:
typedef char stringa[10]

stringa è un array di 10 caratteri (ovvero una stringa anche se con dimensioni fisse)

p4n4s0n1c
11-08-2020, 09:40
ti ringrazio molto mi riesci a spiegare nello stesso modo chiaro anche questa sequenza di istruzioni

typedef int pipe_t[2];
pipe_t *piped;
int L;
L = atoi(argv[2]);
piped = (pipe_t *) malloc (L*sizeof(pipe_t));

e se togliessi la prima linea cioè il typedef come dovrebbero cambiare le linee successive? Ti ringrazio moltissimo

Kaya
11-08-2020, 12:10
Beh ma scusa dovresti un attimo ragionarci su, non mi sembra molto complesso.

nella prima riga definisci un nuovo tipo di oggetto, successivamente allochi una variabile
poi dici che L prende il valore, convertendolo ad intero, del secondo parametro passato all'eseguibile.
infine alloca lo spazio sulla base del numero che gli passi.
Ad esempio
#programma.exe ciao 7
alloca piped a puntare il primo elemento dei 7 pipe_t


Se togliessi la prima riga... lascio a te questo esercizio.

lorenzo001
16-08-2020, 07:46
https://www.iprogrammatori.it/forum-programmazione/cplusplus/significato-questa-linea-codice-typedef-int-pipe-t44251.html