考虑以下 C 代码:
char array1[1]={1};
char array2[2]={2, 2};
void viewDataPointedToBy(char* z)
{
printf("%i\n", *z);
}
int main(void)
{
viewDataPointedToBy(array1); //prints 1, as expected.
viewDataPointedToBy(array2); //prints 2, as expected.
viewDataPointedToBy(&array1); //prints 1, How??
viewDataPointedToBy(&array2); //prints 2, How??
viewDataPointedToBy(&&array1); //Compilation Error: 'array1' used but not defined, Why ?
system ("pause");
return 0;
}
我了解前两次调用的结果viewDataPointedToBy
。我需要对以下三个电话的结果进行解释。