文档章节

栈内存与文字常量区

mskk
 mskk
发布于 2017/04/29 22:57
字数 146
阅读 11
收藏 0

char str1[] = "abc";
char str2[] = "abc";

const char str3[] = "abc";
const char str4[] = "abc";

const char *str5 = "abc";
const char *str6 = "abc";

char *str7 = "abc";
char *str8 = "abc";

cout << ( str1 == str2 ) << endl;//0  分别指向各自的栈内存
cout << ( str3 == str4 ) << endl;//0  分别指向各自的栈内存
cout << ( str5 == str6 ) << endl;//1指向文字常量区地址相同

cout << ( str7 == str8 ) << endl;//1指向文字常量区地址相同

结果是:0 0 1 1

解答:str1,str2,str3,str4是数组变量,它们有各自的内存空间;而str5,str6,str7,str8是指针,它们指向相同的常量区域。

本文转载自:http://blog.csdn.net/wdzxl198/article/details/9102759/

mskk
粉丝 3
博文 175
码字总数 5991
作品 0
昆山
程序员
私信 提问
C语言内存分配问题和 C语言中的内存对齐

C语言内存分配问题 贴子发表于:2008-7-14 13:36:00 C语言内存分配问题 1、C中内存分为四个区 栈:用来存放函数的形参和函数内的局部变量。由编译器分配空间,在函数执行完后由编译器自动释放...

张波
2009/04/26
819
0
C语言中内存分布及程序运行中的BSS段、数据段、代码段、堆和栈

1. 栈(stack):又称堆栈,栈是由编译器自动分配释放,存放函数的参数值,局部变量的值等(但不包括static声明的变量,static意味着在数据段中存放变量)。除此之外,在函数被调用时,栈用来...

china_lx1
2018/06/27
0
0
简体字、冯|大话JVM内存模型

撸代码有段时间了,对虚拟机一直是一知半解。这段时间有点飘,就想着静下来夯实下基础。话不多说,看官随我往下。 图有点丑哈,画图是为了自己记起来方便,可以随时看。 运行时数据区 java虚...

简体字冯同学
2018/06/13
0
0
Java、Android 内存如何分配(简单普及知识)

一、对于Android来说,我们把存储主要分为三个部分:内存、内部存储以及外部存储。我们可以跟PC想比较来认识这三个部分。 (1)内存RAM 内存与PC的内存是一样的,是用来运行程序,不能用来永...

csdn_aiyang
2017/04/06
0
0
C语言内存空间的使用--内存分布图

内存分布图 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(...

Ethan-GOGO
2015/08/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Why hash maps in Java 8 use binary tree instead of linked list?

Q: I recently came to know that in Java 8 hash maps uses binary tree instead of linked list and hash code is used as the branching factor.I understand that in case of high colli......

群星纪元
21分钟前
1
0
HanLP 自然语言处理 for nodejs

·支持中文分词(N-最短路分词、CRF分词、索引分词、用户自定义词典、词性标注),命名实体识别(中国人名、音译人名、日本人名、地名、实体机构名识别),关键词提取,自动摘要,短语提取,...

左手的倒影
22分钟前
1
0
SpringBoot基础知识

1.什么是Spring Boot? 多年来,随着新功能的增加,spring变得越来越复杂。只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有Spring项目的不同功能。 ...

boonya
36分钟前
1
0
Fundebug微信小程序错误监控插件更新至1.1.0,新增test()与notifyHttpError()方法

摘要: 1.1.0新增fundebug.test()和fundebug.notifyHttpError()方法,同时大小压缩至15K。 Fundebug是专业的小程序BUG监控服务,可以第一时间为您捕获生存环境中小程序的异常、错误或者BUG,...

Fundebug
37分钟前
1
0
Linux运维常见的硬件及系统问题

一、服务器常见故障和现象 1、有关服务器无法启动的主要原因 : ①市电或电源线故障(断电或接触不良) ②电源或电源模组故障 ③内存故障(一般伴有报警声) ④CPU故障(一般也会有报警声) ⑤主板故...

寰宇01
39分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部