为什么不能在此分配的内存块中存储大整数?
int *dyn = malloc(16); *dyn = 9999999999; printf("%lli\n", *dyn); free(dyn);
[在编译时,GCC警告我将发生整数溢出。确实,当打印出来时,它已经溢出了。
为什么我不能使用整个内存块来存储单个值?
dyn是整数指针。*dyn是整数。
dyn
*dyn
将9999999999分配给int会导致变量溢出,因为int仅允许[−32767,+32767]范围。
9999999999
int