c语言中字符串常量可写吗?

原创 2015年07月07日 19:32:23

在C语言中,字符串是存储在常量区,可读不可写。所以一下代码会输出they are equal并且会产生段错误(因为写了不能写的)。

#include <stdio.h>
int main(int argc,char *argv[])
{
char *p = "hahaha";
char *p2 = "hahaha";
if (p==p2)
	printf("they are equal\n");
*p2 = 'j';
printf("%c",*p);
}


c为什么定义字符串常量,而且要放入到常量区,还要用一个char *,类型定义

形如这个样子:int a,float b,char *p="12343drf"; 1、a,b要放入到常量区的,这个无庸置疑; 2、那么有时候,我想定义一些状态,做为返回值给我的用户; 用enum...
  • u012582258
  • u012582258
  • 2014年04月01日 23:40
  • 711

C语言中字符串常量到底存在哪了?

常量存储总结 局部变量、静态局部变量、全局变量、全局静态变量、字符串常量以及动态申请的内存区 1、局部变量存储在栈中 2、全局变量、静态变量(全局和局部静态变量)存储在静态存储区 3、new申...
  • chunlovenan
  • chunlovenan
  • 2014年03月20日 22:03
  • 3219

学习笔记---C语言中全局变量,变量,常量的定义与使用

变量与常量的基础使用
  • aketoshknight
  • aketoshknight
  • 2016年11月23日 17:35
  • 921

C语言中字符串的长度

sizeof strlen
  • RHEL_admin
  • RHEL_admin
  • 2014年09月16日 10:25
  • 3018

c语言中的字符数组和字符串之间的关系

一、字符串的结束标志'\0' 1、很多时候我们都是可以看到相关的内容就是: 使用数组来存储字符串,也就是我们经常会使用到sizeof()和这个函数,而,这个函数只是求出当前该数组的最大容量,而不是数组...
  • u012496940
  • u012496940
  • 2015年10月22日 18:13
  • 2804

C语言之变量、常量(define\const)、变量的声明和定义

#include #include #include void main(){ int num = 10; int num1 = 20; int num2 = 30; //十进制,内存地址 ...
  • u013210620
  • u013210620
  • 2015年12月17日 00:24
  • 2230

字符串常量到底存放在哪个存储区

字符串常量,放在哪个存储区呢?是“自动存储区”还是“静态存储区”中? 比如: char *pstr="hello world!"; 这里,"hello world!"是一个字符串常量, ...
  • daiyutage
  • daiyutage
  • 2013年02月23日 16:57
  • 32351

OC语言中类的三大特性及本质(一)

OC语言同C++,C#,java等其他面向对象语言一样,都有类的概念。其他语言通常以关键字class声明一个类,但是OC语言却是以@interface声明一个类。类的定义OC类声明以@interfac...
  • u010213393
  • u010213393
  • 2015年11月14日 13:23
  • 667

C语言中的字符串常量

我们先看第一段代码 1 void foo() { 2         char *a="abcdefg"; ...
  • hishyboy
  • hishyboy
  • 2014年10月11日 12:51
  • 224

C语言中宏定义#define用法总结。

1.简单的宏定义 #define 标识符 替换列表(替换列表可以是数,字符串字面量,标点符号,运算符,标识符,关键字,字符常量。注意:替换列表是可以为空的) 典型错误: #define N = ...
  • jiangchuanze
  • jiangchuanze
  • 2013年02月17日 11:14
  • 6285
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c语言中字符串常量可写吗?
举报原因:
原因补充:

(最多只允许输入30个字)