次のコードは実行時に '6'と出力します。配列のアドレスのアドレス
#include<stdio.h>
int main()
{
int a[]={7,5,3,4,1,6};
int *ptr=(int*)(&a+1);
printf("%d",*(ptr-1));
return (0);
}
私が意味するライン部 "(+ 1 &)(int型*)" 何をするかを理解することはできません。あなたはそれを引き出す場合、理解しやすいかもしれません
これは、「私は未定義の動作を恐れることはありません。コンパイルするまではキャストを投げます」という意味です。あなたがするべきことではありません。 –