字符串指针修改问题

简介: 字符串的定义方式有两种,直接先上代码: 第一种: char num[20] = "hello"; *num = '0'; //可行 num[1] = '0'; //可行 cout<<num<<endl;</span> 第二种: char* num = "hello"; *num = '0'; //错误 num[1

字符串的定义方式有两种,直接先上代码:

第一种:

char num[20] = "hello";
	*num = '0';     //可行
	num[1] = '0';   //可行
	cout<<num<<endl;</span>

第二种:

char* num = "hello";
	*num = '0';     //错误
	num[1] = '0';   //错误
	cout<<num<<endl;</span>
对于第一种方式:

char w[] = "hello";

"hello"保存在栈空间数组里. 数组名为w, 函数名为数组的首地址.
可以通过w[i]='a', 或*(w+i)='a'的形式来修改数组内容.

对于第二种方式:

char *m = "hello";

"hello"保存在文字常量区,该数据不能修改,默认有只读属性.
由指针m指向. 不能通过指针m来修改此值.

目录
相关文章
|
4月前
|
Shell Linux 开发工具
哇~真的是你呀!今天是用户操作中的修改属性、密码设置、删除
在Linux系统中,修改属性、密码设置和删除用户都是管理用户和文件系统的常见操作,下面让我们一起来看看。
47 1
|
21天前
SmartDb代码修改
SmartDb代码修改
8 0
X11/XWindow更改属性代码
X11/XWindow更改属性代码
75 0
LDUOJ spj 修改
LDUOJ spj 修改
56 0
LDUOJ spj 修改
|
OLTP 数据库
数据的删除与修改
数据的删除与修改
160 0
PbootCMS自定义错误修改
PbootCMS自定义错误修改
260 0
PbootCMS自定义错误修改
|
数据库
代码修改后运行结果同修改之前结果一样
今天在做机房收费系统过程中,因为命名规范有些问题,需要将一些数据库表名重新命名,出现了这个问题: 问题描述(环境:VisualStudio2013 ;框架:.Net Framework4.5 ;语言:VB.NET):修改代码之前,数据库查询语句cmdText中的表名为“T_UserInfo”,修改之后,把表名修改为“T_User”(当然数据库中的表名同样修改为“T_User”),运行出错。用Try……Catch获取异常,异常提示“对象名T_UserInfo”无效。
代码修改后运行结果同修改之前结果一样
|
网络协议 安全 Windows

热门文章

最新文章