栈内存与文字常量区

开课吧开课吧锤锤2021-02-16 17:36

我们在准备面试的时候,遇到的面试问题有难的,也有容易的。我们不应该因为他们容易而轻视他们,也不应该因为他们难而放弃。我们对待高薪就业的态度永远不会变,那就是坚持,坚持,再坚持。如果有问题,找到原因;遇到困难,想办法。我们一直相信,只有通过坚持才能看到希望,而不是通过坚持。

开课吧广场C++面试

 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是指针,它们指向相同的常量区域。

C++是一种面向对象的计算机程序设计语言,它是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言,支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格.有对C++感兴趣的同学就赶快学习起来吧。以上就是小编今天为大家整理发布的“栈内存与文字常量区”一文,希望为正在学习C++的朋友提供学习参考,更多C++面试尽在开课吧广场C++面试频道!

有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
算法刷题核心能力提升营