Chinaunix首页 | 论坛 | 博客
  • 博客访问: 162486
  • 博文数量: 35
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 294
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-11 14:55
个人简介

努力奋斗的骚年!

文章分类

全部博文(35)

文章存档

2014年(19)

2013年(16)

分类: C/C++

2014-10-05 20:32:49

     用字符串常量对字符数组和字符指针进行初始化,编译器为“hehe”和“haha”分配了空间,在文字常量区。为a和b分配了栈空间。由字符串常量初始化的数组是可以修改的,而由字符串常量初始化的指针不能被修改,如下,因为被定义为了只读。编译通过,但运行会出错。

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. int main(){
  3.     char a[] = "hehe";
  4.     char *b = "haha";
  5.     //b[2] = 'h'; //在ANSI C中,初始化指针时所创建的字符串常量被定义为只读。
  6.     a[2] = 'a';
  7.     printf("%s",a);
  8.     return 0;
  9. }

阅读(1265) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~