Chinaunix首页 | 论坛 | 博客
  • 博客访问: 43194
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 145
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-19 10:39
文章分类

全部博文(13)

文章存档

2016年(3)

2015年(5)

2014年(5)

我的朋友

分类: C/C++

2015-06-11 14:50:25


点击(此处)折叠或打开

  1. #include <iostream>

  2. using namespace std;


  3. int main(int argc, char* argv[])
  4. {
  5.     char bufferArray[] = "abc";
  6.     cout << "bufferArray = " << bufferArray << endl;
  7.     //
  8.     // Change OK
  9.     //
  10.     bufferArray[0] = 'A';
  11.     cout << "--------------------------------------------------" << endl;
  12.     cout << "After Change" << endl;
  13.     cout << "bufferArray = " << bufferArray << endl;


  14.     char* bufferPointer = "abc";
  15.     cout << "bufferPointer = " << bufferPointer << endl;

  16.     bufferPointer[0] = 'A';    // Run-Time Error
  17.     cout << "--------------------------------------------------" << endl;
  18.     cout << "After Change" << endl;
  19.     cout << "bufferPointer = " << bufferPointer << endl;
  20.     return 0;
  21. }


运行结果如下:

bufferArray = abc

--------------------------------------------------

After Change

bufferArray = Abc

bufferPointer = abc

Bus error: 10


因此说明了一件事,
字符串常量 如果赋值给一个字符数组,那么这个字符串中的信息是可以被修改的
字符串常量 如果赋值给一个字符串的指针,那么这个字符串的信息是不可以被修改的
阅读(1130) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~