题目来源于MOOC浙大翁恺老师的C语言程序设计进阶
注:虽然最终确实会没有空间可分配,但没有空间时,首先使得,malloc分配到NULL,即0,之后*p = 0实际上是向0地址赋值,因此而退出,故B是直接原因
注:数组大小实际为5,但C语言编译不进行数组越界的判断,故可正常编译,且指针相减的结果为对应数据类型变量的个数(地址差/sizeof(数据类型))
题目来源于MOOC浙大翁恺老师的C语言程序设计进阶
注:虽然最终确实会没有空间可分配,但没有空间时,首先使得,malloc分配到NULL,即0,之后*p = 0实际上是向0地址赋值,因此而退出,故B是直接原因
注:数组大小实际为5,但C语言编译不进行数组越界的判断,故可正常编译,且指针相减的结果为对应数据类型变量的个数(地址差/sizeof(数据类型))