根据 C 标准,有四种存储持续时间,静态、线程 (C11)、自动和分配。存储期限决定了对象的生命周期。
静态内存分配:
静态分配意味着,一个对象具有外部或内部链接或使用静态存储类声明。它仅在程序启动之前初始化一次,其生命周期贯穿程序的整个执行过程。全局和静态变量是静态内存分配的一个示例。
动态内存分配:
在 C 语言中,有很多用于动态分配内存的库函数(malloc、calloc 或 realloc,..)。动态分配内存的问题之一是它不会被编译器本身破坏,这意味着用户有责任解除分配的内存。
当使用内存管理函数分配内存时,它们返回一个指向已分配内存块的指针,返回的指针指向内存块的起始地址。如果没有可用空间,这些函数将返回一个空指针。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。