应该这样说,理论上是可以得,但是实际是行不通了。
来同学,我这样给你解释哈,好比说(int)malloc(len * sizeof(int));
c语言只规定了语法规则,但是具体怎么实现是要通过编译器的!
再比如你说的可不可以写成(int)malloc(len * 4);
那好,我们都知道int一般情况下占4个字节,理论上可以,但是那不同的编译器是不同的。
你怎么能保证A编译器int占4个字节,那B编译器就不能占2个字节那。B编译器的作者说了,我非主流我愿意。
所以这个代码只能在A编译器运行,移植到B编译器就麻烦了,说白了就是不方便移植,over!