Piccoli quesiti c++
ciao ragazzi ho alcune piccole domande da farvi sul c++:
1-se definisco la struttura
typedef struct
{
char titolo[50]
.......
.......
.......
}t_proiezione;
//fino qua tutto ok,e poi
struct elemento
{
t_proiezione inf;
struct elemento*pun;
};//anche fino qua nessun problema
//e poi scrivo
struct elemento *aggiungi proiezione(struct elemento *p);
//che senso ha questa dicitura??????
//cioè tutto quello che precede le parentesi mi sembra la definizione di un puntatore a una struttura,e poi invece considerandolo solo dopo "*" mi sembra la dichiarazione di una funzione(ovviamente nel proseguire del programma c'è anche la definizione di tale funzione). Non riesco ad unire insieme le due cose....
2-ho letto quello che c'è da sapere riguardo il passaggio di parametri per indirizzo e reference
ma la dicitura:
void f (int*&x);//prototipo di funzione
cosa significa??????
fino adesso o vedevo scritto solo"*" o solo "&"..............
Mi sapreste gentilmente aiutare??????????????
1-se definisco la struttura
typedef struct
{
char titolo[50]
.......
.......
.......
}t_proiezione;
//fino qua tutto ok,e poi
struct elemento
{
t_proiezione inf;
struct elemento*pun;
};//anche fino qua nessun problema
//e poi scrivo
struct elemento *aggiungi proiezione(struct elemento *p);
//che senso ha questa dicitura??????
//cioè tutto quello che precede le parentesi mi sembra la definizione di un puntatore a una struttura,e poi invece considerandolo solo dopo "*" mi sembra la dichiarazione di una funzione(ovviamente nel proseguire del programma c'è anche la definizione di tale funzione). Non riesco ad unire insieme le due cose....
2-ho letto quello che c'è da sapere riguardo il passaggio di parametri per indirizzo e reference
ma la dicitura:
void f (int*&x);//prototipo di funzione
cosa significa??????
fino adesso o vedevo scritto solo"*" o solo "&"..............
Mi sapreste gentilmente aiutare??????????????
Risposte
io conosco il linguaggio c
se mi dici cosa ti serve posso provare a risolvere il tuo problema ammeso che tu conosca anche il c
peppe89
se mi dici cosa ti serve posso provare a risolvere il tuo problema ammeso che tu conosca anche il c
peppe89

in questo caso cambia molto poco perchè le istruzioni sarebbero le stesse.
Per quanto ne so gli operatori * e & sono l'uno l'opposto dell'altro (un po' come il simbolo di integrale e quello di derivata), cmq l'espressione *&x che è equivalente a &*x restituisce l'indirizzo di memoria associato alla variabile x... probabilmente quel prototipo di funzione vuole che venga passato un indirizzo. Magari se incolli il codice (se non è troppo grande) possiamo cercare di capire meglio dove voglia arrivare chi ha scritto quel prototipo
1. struct elemento *aggiungiproiezione(struct elemento *p);
E' il prototipo di una funzione, il cui nome è aggiungiproiezione (tutto attaccato), che riceve un puntatore ad un oggetto di tipo struct elemento e che restituisce un puntatore sempre di tipo struct elemento, magari lo stesso che riceve (o magari ne crea uno nuovo, fa una copia di quello passato e poi lo rstituisce).
2. In C fondamentalmente è l'indirizzo di memoria... quindi ci lavori con un puntatore.
In C++ sembra una reference ad un puntatore, ossia vuole che gli passi un puntatore sul quale lavori (nn su una copia quindi)
In entrambi i casi, cmq, manipoli l'oggetto che passi alla funzione, ed attraverso quell'oggetto manipoli l'oggetto puntato dal puntatore.
E' il prototipo di una funzione, il cui nome è aggiungiproiezione (tutto attaccato), che riceve un puntatore ad un oggetto di tipo struct elemento e che restituisce un puntatore sempre di tipo struct elemento, magari lo stesso che riceve (o magari ne crea uno nuovo, fa una copia di quello passato e poi lo rstituisce).
2. In C fondamentalmente è l'indirizzo di memoria... quindi ci lavori con un puntatore.
In C++ sembra una reference ad un puntatore, ossia vuole che gli passi un puntatore sul quale lavori (nn su una copia quindi)
In entrambi i casi, cmq, manipoli l'oggetto che passi alla funzione, ed attraverso quell'oggetto manipoli l'oggetto puntato dal puntatore.
grazie a tutti per le risposte
cmq ora ho chiarito tutto
scusate l'assenza ma avevo problemi con il pc
cmq ora ho chiarito tutto
scusate l'assenza ma avevo problemi con il pc