Pointer som argument til funktioner
Jeg faldt over dette udadtil simple eksemple:#include <stdlib.h>
#include <stdio.h>
int blop(int **a)
{
int t =(int)*a;
int y = 10+t;
return y;
}
int main(void)
{
int *a;
a = (int *)100;
printf("%d\n",blop(&a));
return 0;
}
Jeg forstår ikke helt hvordan kaldet til blop fungere.
I man laves en pointer, a, til et tal, 100. Adresse på denne pointer bruges som argument til blop. Men blop acceptere kun en pointer til en pointer. Hvordan kan adressen til pointer a, være en pointer til en pointer?
Hvis man skal prøve at se det for sig så forstiller jeg mig et stort array (hukommelsen) hvor a peger på tallet 100. Men hvorhenne ligger a?