,遵循先进后出(LIFO)的原则,大小有限,如果使用不当可能导致栈溢出
堆(Heap): 用于动态分配内存,存储动态分配的对象和数据结构,开发者需要手动管理堆上的内存,分配和释放,大小一般比栈要大得多,...对于指针,sizeof 返回指针本身的大小,而不是它所指向的对象的大小。...语法:void* malloc (size_t size);
功能:动态分配指定大小的内存块,并返回指向该内存块的指针, 分配的内存块内容是未初始化的。...,并返回指向该内存块的指针,分配的内存块内容会被初始化为0。...不能访问已经释放的内存块,否则会出现未定义行为。
如果分配失败,这些函数会返回NULL指针,需要进行错误处理。