Код:
/*
* 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");
}
Мой компилятор не одобряет этот код.
- [Предупреждение] передача аргумента 1 из `printArray 'делает целое число из указателя без приведения
- printArray (array2, 4);
- [Ошибка] подписанное значение не является ни массивом, ни указателем
- printf ("% d", * iXArray [iCntr]);
Что я делаю не так и почему? Как мне это исправить?