什么是C中的陷阱表示(某些示例可能有帮助)?这适用于C++吗?
float f=3.5;
int *pi = (int*)&f;
Run Code Online (Sandbox Code Playgroud)sizeof(int) == sizeof(float)do f和*pi具有相同的二进制表示/模式?MSVC怎么样?从 C17 开始,递减指向数组第一个元素的指针是未定义的行为。这个答案引用了C17标准的说法
C17 6.5.6/8
如果指针操作数和结果都指向同一个数组对象的元素,或者超过数组对象的最后一个元素,则求值不会产生溢出;否则,行为是未定义的。
这是最早定义的标准吗?早期标准中如何定义此类操作?以前合法吗?