J'ai un tableau, mais je n'ai pas besoin de sa première (ou dernière) position. Je pointe donc une nouvelle variable vers le reste du tableau, mais je devrais libérer la première/dernière position du tableau. Par exemple:En C, est-il possible de ne libérer qu'un premier tableau ou une dernière position?
p = read_csv_file();
q = p + 1; // I don't need the first CSV file field
// Here I'd like to free only the first position of p
return q;
Sinon, je l'ai à memcpy le tableau à d'autres variables, à l'exception de la première position, puis libérer le tableau original. Comme ceci:
p = read_csv_file();
q = (int*) malloc(sizeof(int) * (SOME_SIZE - 1));
memcpy(q, p+1, sizeof(int) * (SOME_SIZE - 1));
free(p);
return q;
Mais alors je vais avoir la surcharge de copier tout le tableau. Est-ce possible de ne libérer qu'une seule position d'un tableau?
En un mot, non, ce n'est pas le cas. –