|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2003
Città: roma
Messaggi: 1629
|
Vettore di variabili strutturate in C
Scrivere una funzione C che inizializza l'elemento i-esimo di un vettore di variabili strutturate di tipo
struct item { int val; char stringa[100]; }; con una stringa e un valore intero. la mia soluzione è questa : Codice:
struct item *inizializza(int valore,char string[100])
{
struct item *inizia;
inizia=(struct item *)malloc(sizeof(struct item));
if(inizia==null)
{
return 0;
}
inizia->val=valore;
inizia->stringa=string;
return inizia;
}
Ultima modifica di mic85rm : 28-06-2011 alle 18:23. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
Totalmente sbagliate un sacco di cose... la prima cosa che hai sbagliato è che non hai indentato il codice... c'è un pulsantino qui sopra oppure scrivi CODE tra parentesi quadre, codice, /CODE sempre tra quadre
poi Codice:
struct item inizializza(...) Codice:
return 0; Codice:
return inizia; Codice:
struct item * inizializza(...) Codice:
return inizia; free(inizia); |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2003
Città: roma
Messaggi: 1629
|
aggiornato
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
E ti funziona?
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2003
Città: roma
Messaggi: 1629
|
purtroppo non ho un compilatore c...
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
http://www.google.com/search?q=mingw se sei su win, altrimenti su linux hai già il gcc. per compilare dai Codice:
gcc nomefile |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Mar 2008
Messaggi: 267
|
Codice:
if(inizia==null)
{
return 0;
}
Codice:
if(inizia == NULL)
{
return NULL;
}
Codice:
inizia->stringa=string; Codice:
strncpy(inizia->stringa, string, 100); |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2003
Città: roma
Messaggi: 1629
|
il compilatore c non ce l'ho qui a lavoro
grazie a tutti per le risposte comunque ora posto la soluzione corretta dal problema posto sopra... Codice:
typedef struct item item; /* così non devo scrivere tutte le volte struct */
struct item {
int val;
char stringa[100];
};
/* ... */
void inizializza(item arr[], int i, int valore, char string[100])
{
/* manca la verifica degli argomenti... */
arr[i].val = valore;
strcpy(arr[i].stringa, string); /* non puoi fare l'assegnazione in quel modo per le stringhe e in generale gli array.. */
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:40.




















