&(int)a为什么非法

在C语言中,& 是取地址符,只能用于在内存中已经分配了存储空间的变量。(int)a是一个类型转换表达式,它将a转换为int类型,但是这个转换结果并不会在内存中留下实际的存储,所以不能对它直接取地址,&(int)a这样的语句在C语言中是不合法的,编译器会报错。

你可能感兴趣的:(c语言)