通过下标访问字符串的一点感想
2017-03-05 16:55
183 查看
给定一个char * str指针和一个char srr[]字符数组:
str是指向字符串常量的指针,也就是char * str = “abcdefg”中的“abcdefg”是一个字符串常量,只能通过下标如str[1]来访问,不能对str[1]进行赋值操作;
srr是字符数组,可以通过下标如srr[1]访问字符数组中的第2个字符,也可以对srr[1]进行赋值。
验证程序:
在vs2015上单步调试到 str[1] = ‘z’;时报错,报错信息如下:
这是由于对字符串常量中的str[1]进行了赋值操作导致,将str[1] = ‘z’;注释掉再次运行:
char * str = "abcdefg"; char srr[] = "abcdefg";
str是指向字符串常量的指针,也就是char * str = “abcdefg”中的“abcdefg”是一个字符串常量,只能通过下标如str[1]来访问,不能对str[1]进行赋值操作;
srr是字符数组,可以通过下标如srr[1]访问字符数组中的第2个字符,也可以对srr[1]进行赋值。
验证程序:
#include <stdio.h>
int main()
{
char * str = "abcdefg"; char srr[] = "abcdefg";
printf("str[1] = %c\tsrr[1] = %c\n", str[1], srr[1]);
str[1] = 'z'; //赋值报错
srr[1] = 'z';
printf("str[1] = %c\tsrr[1] = %c\n", str[1], srr[1]);
return 0;
}
在vs2015上单步调试到 str[1] = ‘z’;时报错,报错信息如下:
这是由于对字符串常量中的str[1]进行了赋值操作导致,将str[1] = ‘z’;注释掉再次运行:
相关文章推荐
- 当字符串数组String[]为空时,通过下标访问时会越界,空指针异常
- php7.1 下标访问字符串变量可能造成混淆
- C++通过ADO访问数据库的连接字符串
- php字符通过下标访问导致的程序问题
- 通过字符串名访问变量
- python学习笔记6.9-通过字符串访问类的方法
- 关于Win7 64位系统通过ODBC访问Access的一点经验
- [置顶] 通过json字符串传对象集合,在js中访问对象的属性
- swift的字符串的下标访问
- 关于Win7 64位系统通过ODBC访问Access的一点经验
- Objective-C中通过下标的方式访问自定义数据模型中属性
- 11_5_1创建一个集合类People ,它是下述Person类的集合,该集合中的项可以通过一个字符串索引符来访问,该字符串索引符是人的姓名,与Person.Name 属性相同:
- 系统分析师考试通过了,一点感想
- $.ajax({ }) 回调函数返回的值 用对象,下标,键值对访问不到时,考虑是否返回数据为字符串
- 使用C++通过ADO访问access数据库的一点问题
- 高项通过的一点感想和经验
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
- JSON数组通过下标删除,并转换JSON字符串
- 字符串使用下标的方式访问其中的元素不兼容ie7和ie6
- 通过字符串创建对象并访问类中的方法(利用java的反射)