У меня есть программа, в которой я хочу понять следующий вывод:
#include <stdio.h>
void fastSwap (char **i, char **d)
{
char *t = *d;
*d = *i;
*i = t;
}
int main ()
{
char num1[] = "hellohello";
char num2[] = "classclass";
fastSwap ((char**)&num1,(char**)&num2);
printf ("%s\n",num1);
printf ("%s\n",num2);
return 0;
}
При выводе будет изменяться только sizeof(void*)
символов, а не весь массив.
почему это происходит?
&num1
это char**
, не так ли?