|
|
|
|
Strumenti |
10-08-2020, 22:08 | #1 |
Member
Iscritto dal: Aug 2015
Messaggi: 41
|
[Linguaggio C] typedef int pipe_t[2];
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. |
11-08-2020, 09:25 | #2 |
Senior Member
Iscritto dal: Apr 2005
Messaggi: 3087
|
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) |
11-08-2020, 09:40 | #3 |
Member
Iscritto dal: Aug 2015
Messaggi: 41
|
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 |
11-08-2020, 12:10 | #4 |
Senior Member
Iscritto dal: Apr 2005
Messaggi: 3087
|
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. |
16-08-2020, 07:46 | #5 |
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:53.