内存四区

简介: 内存四区

1.内存分区模型



2.程序运行前:


//放在主函数外面就是全局变量
//全局变量
int g_a = 10;
int g_b = 10;
//全局常量
//const表示常量
const int c_g_a = 10;
const int c_g_b = 10;
int main() {
//局部变量
int a = 10;
int b = 10;
//打印地址
cout << "局部变量a地址为: " << (int)&a << endl;
cout << "局部变量b地址为: " << (int)&b << endl;
cout << "全局变量g_a地址为: " << (int)&g_a << endl;
cout << "全局变量g_b地址为: " << (int)&g_b << endl;
//静态变量
    //在数据前面加上static就转化为了静态变量
static int s_a = 10;
static int s_b = 10;
cout << "静态变量s_a地址为: " << (int)&s_a << endl;
cout << "静态变量s_b地址为: " << (int)&s_b << endl;
cout << "字符串常量地址为: " << (int)&"hello world" << endl;
cout << "字符串常量地址为: " << (int)&"hello world1" << endl;
cout << "全局常量c_g_a地址为: " << (int)&c_g_a << endl;
cout << "全局常量c_g_b地址为: " << (int)&c_g_b << endl;
const int c_l_a = 10;
const int c_l_b = 10;
cout << "局部常量c_l_a地址为: " << (int)&c_l_a << endl;
cout << "局部常量c_l_b地址为: " << (int)&c_l_b << endl;
system("pause");
return 0;
}



3.程序运行后

#include<iostream>
using namespace std;
int* func() {
 int a = 10;
 return &a;
}
int main() {
 int* p = func();
 cout << *p << endl;
 return 0;
}



4.new操作符




#include<iostream>
using namespace std;
int* func() {
  int* a = new int(10);
  return a;
}
int main() {
  int* p = func();
  cout << *p << endl;
  cout << *p << endl;
  delete  p;
  system("pause");
  return 0;



相关文章
|
分布式计算 Java Hadoop
crontab环境变量问题
在crontab中运行脚本来查看hadoop相关信息,由于hadoop、java默认部署在/usr/local下面, 所以导致crontab执行时出现报错。具体与环境变量有关系,下文描述比较清楚。
1647 0
|
7月前
|
安全 智能硬件
云产品评测|安全体检,获奖名单公布!
云产品评测|安全体检,获奖名单公布!
150 0
|
7月前
|
前端开发 JavaScript 开发者
《解构与重构:ES6如何革新JavaScript编程范式》
ES6(ECMAScript 2015)作为JavaScript的一次重大更新,带来了诸多革新特性,极大地提升了开发效率与代码质量。它通过引入块级作用域(`let`/`const`)、箭头函数、模板字符串、解构赋值、类语法、模块系统(`export`/`import`)以及Promise和`async/await`等特性,解决了以往的痛点问题,如变量污染、回调地狱、繁琐的字符串拼接等。这些新特性不仅让代码更简洁、易读,还优化了异步编程和模块化管理,为构建复杂应用提供了强大支持。ES6的诞生标志着JavaScript迈入了一个更高效、更现代化的编程时代。
120 2
|
安全 Java 数据安全/隐私保护
解析Spring Security中的权限控制策略
解析Spring Security中的权限控制策略
|
JavaScript
Vue2 sync 修饰符
本文介绍了Vue 2中`.sync`修饰符的用法,它是一种语法糖,用于简化父子组件之间的双向数据绑定,通过在子组件中触发以`update:`为前缀的事件来更新父组件中的数据。
298 20
|
Java 数据库连接 测试技术
SpringBoot 3.3.2 + ShardingSphere 5.5 + Mybatis-plus:轻松搞定数据加解密,支持字段级!
【8月更文挑战第30天】在数据驱动的时代,数据的安全性显得尤为重要。特别是在涉及用户隐私或敏感信息的应用中,如何确保数据在存储和传输过程中的安全性成为了开发者必须面对的问题。今天,我们将围绕SpringBoot 3.3.2、ShardingSphere 5.5以及Mybatis-plus的组合,探讨如何轻松实现数据的字段级加解密,为数据安全保驾护航。
1076 1
|
前端开发
使用LangGraph构建多Agent系统架构!
【10月更文挑战第7天】
1905 0
|
小程序 前端开发
微信综合购物商城小程序ui模板源码
微信电商小程序前端页面,综合购物商城ui界面模板。主要功能包含:电商主页、商品分类、购物车、购物车结算、我的个人中心管理、礼券、签到、新人专享、专栏、商品详情页、我的订单、我的余额、我的积分、我的收藏、我的地址、我的礼券等。这是一款非常齐全的电商小程序前端模板。
497 4
|
数据库 数据安全/隐私保护 数据库管理
QT中sqlite数据库数据加密/混淆---MD5/SHA1/SHA2/SHA3
QT中sqlite数据库数据加密/混淆---MD5/SHA1/SHA2/SHA3
|
Python
使用while语句实现循环
在编程中,循环是一种常用的控制结构,它允许代码块重复执行,直到满足某个条件为止。Python中的while语句是实现循环的常用方法之一。下面,我们将详细介绍如何使用while语句来实现循环,并附上示例代码。
430 2