У вас нет массива указателей.У вас есть указатель на один указатель (= массив из одного указателя).Подписка, что argv
с чем-либо, кроме 0 (или 1, если вы не разыменовываете это), не определена.После того, как вы разыменовали его один раз, вы можете добавить от 0 до 4 (и, возможно, разыменовать их для получения значений массива (от 1 до 5)).
#include <stdio.h>
void * myParam(unsigned int *argv[]){
for(unsigned int i = 0; i < 5; i++){
printf("Block[%u] = Pointer Address %p, value=%u\n", i, (void*)(*argv + i),
(*argv)[i]);
}
return *argv;
}
int main(){
unsigned int arr[5] = {1,2,3,4,5};
unsigned int *ptr;
ptr = arr;
ptr = myParam(&ptr);
}