Salve, c'è un modo per dichiarare un vettore e assegnare i vari elementi in una sola riga?
Ovvero, il C permette di fare questo:
int vettore[ ] = {4, 7, 8, 9, 15, 17, 21, -1};
Il problema è che se voglio passare il puntatore di questo vettore ad una funzione in modo da poter riallocare la dimensione di questo vettore, il compilatore mi da un warning.
Quindi io ho pensato di dichiarare il vettore in questo modo:
int *vettore = {4, 7, 8, 9, 15, 17, 21, -1};
e in questo caso il compilatore mi dice che questo tipo di assegnazione è sbagliata.
Ho risolto momentaneamente così:
int *vett = malloc(8 * sizeof(int));
*(vett + 0) = 4;
*(vett + 1) = 7;
*(vett + 2) = 8;
*(vett + 3) = 9;
*(vett + 4) = 15;
*(vett + 5) = 17;
*(vett + 6) = 21;
*(vett + 7) = -1;
ma non penso che sia la soluzione migliore.
Come posso fare? Grazie.