c语言练习题40:深入理解字符串常量

深入理解字符串常量

cpp 复制代码
#include<stdio.h>
int main() {
	char str1[] = "abcd";
	char* str2 = "abcd";
	printf("%s\n", str1);
	printf("%s\n", str2);
	return 0;
}

char str1[] = "abcd";是用字符串初始化数组。

char* str2 = "abcd"; "abcd"为字符串常量

字符串常量不能被修改

例如1:

cpp 复制代码
#include<stdio.h>
int main(int argc,const char*argv[]) {
	char* a[] = { "Work","at","huawei" };
	char** p = a;
	*(*(p + 2) + 1) = 'H';
	printf("%c %c\n", a[2][1], *(*(p + 2) + 1));
	return 0;
}

VS环境下没有输出,但linux下会报错

例如2:

相关推荐
重生之我是Java开发战士16 小时前
【广度优先搜索】BFS解决拓扑排序:课程表I,课程表II,火星词典
算法·leetcode·广度优先
重生的黑客16 小时前
Linux初识
linux·运维·服务器
人道领域16 小时前
LeetCode【刷题日记】:滑动窗口算法详解:从暴力法到最优解
java·算法·leetcode
evo-master16 小时前
linux环境准备和理解
linux·运维·服务器
JiMoKuangXiangQu16 小时前
Linux 内存管理:LRU 链表 (1)
linux·内存管理·lru
凤年徐16 小时前
封装红黑树实现 mymap 和 myset
网络·c++·算法
Zhao1368245539116 小时前
DP108B完全替代兼容进口的CM108B,USB 音频单芯片
linux·运维·音视频
攻城狮在此16 小时前
ping命令中TTL值是什么?详解与用法
linux·网络·windows
艾莉丝努力练剑16 小时前
【Linux信号】Linux进程信号
linux·运维·服务器·学习·操作系统·进程·信号
cqsztech16 小时前
基于ORACLE LINUX 10.1 MYSQL 8.4 源码安装
linux·mysql·oracle