作用域:代码块作用域、函数原型作用域、文件作用域 函数作用域(只适用于goto)

链接:外部链接、内部链接、空链接(代码块作用域、函数原型作用域)

存储时期:静态存储时期、自动动态存储时期

五种存储类:自动,寄存器(代码块内使用register,不能使用地址运算符),外部链接的静态、内部链接的静态(static)、空链接

x =30;
while(x++<33)
{
int x = 100;
printf("%d",x);

}

打印了三次100,递增必须在条件判断语句中

对函数参量不能使用static,静态变量和外部变量在程序调入内存时已经就位

rand()、srand()函数可以产生随机数,在stdlib.h中
time.h中time()返回系统时间,返回值是time_t,确切类型与系统有关,可以自己对它进行类型指派

malloc() 和free()在stdlib.h中
变长数组在二维数组的分配上占优势:int n = 5;int m = 6; int ar[n][m];
int (*p)[6]或int (*p)[m]//支持变长数组; p = (int(*)[6])malloc(n*6*sizeof(int)); p = (int(*)[m])malloc(n*m*sizeof(int));

变长数组自动存储,自己释放

ANSI C类型限定词(幕等的:可以不止一次使用同一个限定词,多余的将被忽略):const、restrict(限定指向数据块的唯一访问方式--方便优化代码)

转载于:https://www.cnblogs.com/zxj-262410/p/6691252.html

存储类、链接、内存管理相关推荐

  1. C语言:存储类型,内存管理

    一.存储类型 在定义一个数据(变量/数组)的时候,除了需要定义数据类型外,还需要定义存储类型.数据类型用于说明变量的长度和存储方式,而存储类型用于说明变量的使用规则 1.存储类型的分类 <1&g ...

  2. Cocos2d之Ref类与内存管理使用详解

    一.简介 用C++和JAVA编写过程序的朋友一定会为两种语言不同的内存管理机制懊恼.JAVA程序运行在JVM之上,由JVM自动实现内存管理,开发者只管申请内存而不用手动释放内存.当JAVA中对象没有被 ...

  3. iOS内存管理——alloc/release/dealloc方法的GNUstep实现与Apple的实现

    关于阅读<Object-C高级编程-iOS与OS X多线程和内存管理>一书后的iOS内存管理系列思考 <关于iOS内存管理的规则思考> <iOS内存管理--alloc/r ...

  4. Go语言设计与实现 -- 内存管理器

    不同的编程语言选择不同的方式管理内存,本节会介绍Go语言内存分配器. Go内存分配的设计思想是: 内存分配算法采用Google的TCMalloc算法,每个线程都会自行维护一个独立的内存池,进行内存分配 ...

  5. 《Objective-C高级编程 iOS与OS X多线程和内存管理》读书笔记

    <Objective-C高级编程 iOS与OS X多线程和内存管理>读书笔记 第一章:自动引用计数 自己生成的对象,自己所持有. 非自己生成的对象,自己也能持有 不再需要自己持有的对象时释 ...

  6. Cocos2d-x学习笔记—内存管理机制

    Cocos2d-x 3.x内存管理机制 1:C++内存管理 1-1:内存分配区域 创建对象需要两个步骤:第一步,为对象分配内存:第二步,调用构造函数初始化内存.在第一步中,可以选择几个不同的分配区域. ...

  7. vue中引用js_从JS中的内存管理说起 —— JS中的弱引用

    点击上方"蓝字"关注本公众号 写在前面 在所有的编程语言中,我们声明一个变量时,需要系统为我们分配一块内存.当我们不再需要这个变量时,需要将内存进行回收(这个过程称之为垃圾回收). ...

  8. C++内存管理(1)

    根据侯捷老师的视频:https://www.bilibili.com/video/BV1Kb411B7N8 这篇文章归纳内存管理的面试题和一些知识点梳理 正在更新中 首先为什么想要内存管理 不知道有没 ...

  9. 黑马程序员--Objective-C之--OC中的内存管理

    ------IOS培训期待与您交流! ------- 对于面向对象的变成语言,程序需要不断地创建对象. 初始,创建的所有程序通常都有指针指向它,程序可能需要访问这些对象的实例变量或调用这些对象的方法, ...

  10. C++ allocator设计内存管理器

    文章目录 allocator内存管理器 基本属性 类的设计 关键功能的实现 完整的内存管理器 内存管理器的测试:设计自定义的String类. 前情回顾: allocator内存管理类 allocato ...

最新文章

  1. Deploy your UI5 application into SAP Cloud Platform and launch as a tile
  2. STM32项目(五)——智能回收箱
  3. 码农回家过个年,真心不容易!
  4. 黑莓桌面管理器4.2_虚拟桌面管理器行业现状调研分析及发展趋势预测报告(2020)...
  5. python设计模式六大原则_学习设计模式 - 六大基本原则之迪米特法则(示例代码)...
  6. 前端为什么有的接口明明是成功回调却执行了.catch失败回调_前端战五渣学JavaScript——Promise...
  7. Delphi指针总结
  8. ACM算法竞赛入门 概述
  9. 【字体】编程常用字体推荐,微软,苹果,开源系统默认代码字体
  10. java常用设计模式及其使用场景
  11. Kettle的改名由来
  12. linux格式化硬盘 中断,linux格式化硬盘【调解方案】
  13. U盘文件夹变成exe应用程序
  14. 应用排行榜第一名脸萌仅仅是刹那的烟火
  15. 学计算机独显重要吗,“集显”、“独显”对于普通电脑用户来说还那么重要吗?...
  16. Python 微信自动化工具开发系列01_自动获取微信聊天信息(2023年1月可用)
  17. 黑马程序员——结缘黑马
  18. 辐射避难所买了东西显示服务器异常,辐射避难所有哪些BUG 现存BUG说明及解决方法盘点...
  19. Ae试水~(待填坑)
  20. Sublime Text 3 简体中文汉化包使用方法 ( 更新时间2019.03.20 )

热门文章

  1. 晨哥真有料丨明知道没有结果的爱情,还要继续下去吗?
  2. 图像处理常用八大算法
  3. nvidia 桌面录屏
  4. nodejs 嵌套消除和高并发
  5. 03-NIO通讯模型
  6. 【Flink】Flink 1.12.2 SlotManager
  7. 【maven】The forked VM terminated without saying properly
  8. 【Negix】Nginx 面试 一些题目
  9. 95-10-070-启动-SocketServer启动
  10. Linux : 文件处理命令