内存四域,变量声明和定义,寄存器,c内嵌汇编,auto,堆栈,常量,静态变量

简介:  1.内存四大区域 2.在程序中,变量的声明可以有多份,定义只能有一份 3.寄存器在cpu里面,没有地址 4.c语言内嵌汇编语言 5.auto变量 自动分配内存,自动释放内存。 6、栈的大小由编译器决定 修改栈的方式,右击项目à属性à配置属性à链接器à系统à堆栈保留大小 7.卡死cpu,卡死内


1.内存四大区域

2.在程序中,变量的声明可以有多份,定义只能有一份

3.寄存器在cpu里面,没有地址

4.c语言内嵌汇编语言

5.auto变量

自动分配内存,自动释放内存。

6、栈的大小由编译器决定

修改栈的方式,右击项目à属性à配置属性à链接器à系统à堆栈保留大小

7.卡死cpu,卡死内存的程序

8.在堆上申请空间后赋值后,不可以释放内容。要通过free方法进行释放对空间。

9.常量字符串在代码区。代码区是智能读的。

10.常量本质

10.静态变量,全局变量的差别

A全局变量可以跨文件使用

 B  int a = 10;    等价于:声明+赋值 = 定义

  C:静态区和程序共存亡,静态区分配优先于main函数

  D:栈区:反复回收,反复释放。

 E:加了static读的全局变量,限定只有本C文件中可以访问。

extern:声明一个外部定义的变量

目录
相关文章
|
19天前
|
传感器 人工智能 物联网
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发,以及面临的挑战和未来趋势,旨在帮助读者深入了解并掌握这些关键技术。
39 6
|
1月前
|
存储 编译器 Linux
【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)
本文介绍了C++中的类和对象,包括类的概念、定义格式、访问限定符、类域、对象的创建及内存大小、以及this指针。通过示例代码详细解释了类的定义、成员函数和成员变量的作用,以及如何使用访问限定符控制成员的访问权限。此外,还讨论了对象的内存分配规则和this指针的使用场景,帮助读者深入理解面向对象编程的核心概念。
81 4
|
6月前
|
存储 程序员 存储控制器
【读书笔记】汇编语言(第四版)第二章 寄存器
【读书笔记】汇编语言(第四版)第二章 寄存器
|
2月前
|
存储 SQL 安全
理解堆栈和内存溢出
【10月更文挑战第05天】
41 3
|
4月前
|
存储 程序员 Python
Python类的定义_类和对象的关系_对象的内存模型
通过类的定义来创建对象,我们可以应用面向对象编程(OOP)的原则,例如封装、继承和多态,这些原则帮助程序员构建可复用的代码和模块化的系统。Python语言支持这样的OOP特性,使其成为强大而灵活的编程语言,适用于各种软件开发项目。
44 1
|
4月前
|
存储 安全 Java
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别;什么是程序计数器,堆,虚拟机栈,栈内存溢出,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
|
4月前
|
存储 程序员 编译器
堆和栈内存的区别是什么
【8月更文挑战第23天】堆和栈内存的区别是什么
326 4
|
5月前
|
设计模式 安全 Java
Java面试题:设计模式如单例模式、工厂模式、观察者模式等在多线程环境下线程安全问题,Java内存模型定义了线程如何与内存交互,包括原子性、可见性、有序性,并发框架提供了更高层次的并发任务处理能力
Java面试题:设计模式如单例模式、工厂模式、观察者模式等在多线程环境下线程安全问题,Java内存模型定义了线程如何与内存交互,包括原子性、可见性、有序性,并发框架提供了更高层次的并发任务处理能力
83 1
|
6月前
|
存储 监控 算法
Java堆栈内存管理与优化技巧的实践指南
Java堆栈内存管理与优化技巧的实践指南
|
5月前
|
存储 Java 数据库连接
Java堆栈内存管理与优化技巧的实践指南
Java堆栈内存管理与优化技巧的实践指南