E' corretta questa scrittura [C]

fk16
Stavo riguardando gli appunti di programmazione e c'era un esercizio sull'implementazione dello stack come struttura dati.
Volevo solo sapere se è giusto scrivere questa cosa.
typedef struct{
double *s;
int cima;
int size;
}Stack;
Stack stack.

All'interno di una funzione c'è scritta questa cosa:
stack.s[--stack.cima]
Volevo sapere, è lecito scrivere --stack.cima???? se si cosa starebbe a significare???

Risposte
Raptorista1
La scrittura --stack.cima indica di prendere l'elemento cima dalla struttura stuck, che è un intero, e di diminuirlo di uno [operatore di decremento a sinistra].
Siccome non sono sicuro della precedenza degli operatori, io avrei scritto --(stack.cima).

hamming_burst
"Raptorista":
Siccome non sono sicuro della precedenza degli operatori, io avrei scritto --(stack.cima).

certamente (--stack).cima avrebbe tutt'altro significato, non vorrei dire ma si potrebbe cadere nell'aritmetica dei puntatori o un semplice errore dato dal compilatore per non compatibilità degli operatori (mi ha fatti venire un dubbio, meglio andar a vedere :) ).

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.