code:Passer un tableau contenant des pointeurs à une fonction bien
/*
* code.c
*/
#include <stdio.h>
void printArray(int iXArray, int iSize);
int main() {
int array1[] = {7, 9, 3, 18};
int *array2[] = {array1 + 0, array1 + 1, array1 + 2, array1 + 3};
printArray(array2, 4);
return 0;
}
// This should print the values in array1
void printArray(int iXArray, int iSize) {
int iCntr;
for (iCntr = 0; iCntr < iSize; iCntr++) {
printf("%d ", *iXArray[iCntr]);
}
printf("\n");
}
Mon compilateur n'approuve pas ce code. - [Avertissement] passer arg 1 de `printArray 'rend entier à partir du pointeur sans un cast - printArray (array2, 4); - [Erreur] la valeur indicée n'est ni un tableau ni un pointeur - printf ("% d", * iXArray [iCntr]);
Qu'est-ce que je fais de mal, et pourquoi? Comment puis-je réparer ça?
Je devrais mentionner que je veux que le premier tableau reste intact si je décide de l'éditer avec cette fonction. Si je devais éditer array2, je changerais les pointeurs. – Pieter
La modification avec les structures devrait vous permettre de faire cela. –