下列说法正确的是
A、执行函数调用时,系统自动在栈上为函数内的局部变量及形参分配内存,函数执行结束时,自动释放这些内存,这些无需程序员来管理。
B、函数free()的参数是指向被释放的动态内存的指针变量。
C、对于用动态内存分配函数申请的内存,其生存期由程序员自己来决定。
D、函数free的函数原型是 void* free(void* p); 表示函数没有返回值。
E、程序运行结束以后,所有内存自然会随之马上释放并归还给系统,因此即使不释放不再使用的动态内存,也不会有什么问题。
F、执行函数调用时,系统在堆上为函数内的局部变量及形参分配内存,函数执行结束时,需要程序员用free()函数释放这些内存。
G、用动态内存分配函数来申请的内存都是从栈上分配的。
H、栈的特点是先进先出。
I、用free释放指针变量所指向的内存以后,就意味着该指针变量变成了空指针。