常量字符串

简介: 常量字符串

一、常量字符串是什么?

常量字符串是一个常量,它的值是首字符的地址

比如 "abcdefg" 或 "123456789" 就是常量字符串

二、常量字符串与普通字符串的区别

1.常量字符串不可更改,而普通字符串可以更改

利用memcpy内存拷贝函数,将常量字符串“123456789”中的前四个字节拷贝到“abcdefg”中,代码出错,因为常量字符串“abcdefg”不可修改

char* p1 = "abcdefg";
char* p2 = "123456789";
memcpy(p1, p2, sizeof(char) * 4);//报错

普通字符串可以修改

char arr[] = "abcedfg";
arr[2] = 'C';
printf("%s", arr);//abCdefg
2.常量字符串可以用作数组名

由于常量字符串的值是首字符地址,数组名的值也是首元素的地址,所以常量字符串可以当成数组名使用

char* p = "abcdefg";
printf("%c", "abcedfg"[5]);//f


目录
相关文章
|
6月前
|
存储 C++
c++字符和不常见常量
c++字符和不常见常量
55 0
|
2月前
|
Python
常量
常量。
20 4
|
3月前
|
C++
【学习笔记】【C/C++】 c++字面值常量
【学习笔记】【C/C++】 c++字面值常量
33 1
|
6月前
|
存储 Java 编译器
字符串常量和字符串字面值
字符串常量和字符串字面值
104 1
|
6月前
|
C语言
c常量
c常量
39 1
|
6月前
|
C语言
C语言常量与变量、字符串与转义字符
C语言常量与变量、字符串与转义字符
49 0
|
6月前
|
程序员 编译器 C++
c++常量
c++常量
59 0
|
6月前
|
存储 Java 编译器
字符串常量和字符串字面值:区别与联系
字符串常量和字符串字面值:区别与联系
|
6月前
|
存储 编译器 程序员
C++中的宏定义和字符串字面值的区别
C++中的宏定义和字符串字面值的区别
|
存储
C 常量
C 常量。
31 1