次の 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;
}
の最初の 2 つの呼び出しの結果を理解していますviewDataPointedToBy
。次の 3 つの呼び出しの結果について説明が必要です。