变量内存的分配
2011-02-24 20:37
134 查看
char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char* str5 = "abc"; const char* str6 = "abc"; cout << boolalpha << ( str1==str2 ) << endl; // 输出什么? cout << boolalpha << ( str3==str4 ) << endl; // 输出什么? cout << boolalpha << ( str5==str6 ) << endl; // 输出什么?
输出:false false true
str1和str2都是字符数组,每个都有其自己的存储区,它们的值则是各存储区首地址,不等;str3和str4同上,只是按const语义,它们所指向的数据区不能修改。str5和str6并非数组而是字符指针,并不分配存储区,其后的“abc”以常量形式存于静态数据区,而它们自己仅是指向该区首地址的指针,相等
boolalpha 用符号形式表示真假。
相关文章推荐
- Java变量以及内存分配
- C++变量内存分配及类型修饰符
- java方法体的变量内存分配
- Java变量以及内存分配(非常重要)
- 编译器对变量的内存分配方式 收藏
- 数据结构 学习笔记之:结构体及其所定义变量的内存分配的问题
- 探讨C++ 变量生命周期、栈分配方式、类内存布局、Debug和Release程序的区别(一)
- 变量的内存分配和释放
- Java变量的声明、内存分配及初始化
- Java基础中环境变量的配置以及Java的内存资源调用分配机制
- 关于创建子类对象的时候是否为父类的私有变量分配了内存
- c中定义变量的内存分配顺序问题
- 关于构造函数析构函数以及成员变量内存分配顺序的一些问题
- java+内存分配及变量存储位置的区别
- 程序在的内存中的分配(常量,局部变量,全局变量,程序代码)
- c中定义变量的内存分配顺序问题(极易错!!!)
- 变量的内存分配与printf()函数
- 程序在的内存中的分配(常量,局部变量,全局变量,程序代码)
- java面向对象之成员变量和局部变量 以及他们的内存分配
- 从一个微型例子看“C/C++的内存分配机制”和“数组变量名与指针变量名”