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:

相关推荐
语戚1 小时前
力扣 1621. 大小为K的不重叠线段的数目:动态规划(Java 实现)
java·算法·leetcode·动态规划·力扣·dp
码农客栈1 小时前
linux 交叉编译tslib
linux
青山木2 小时前
Hot 100 --- 最长有效括号
java·数据结构·算法·leetcode·动态规划
是隼人2 小时前
buuctf-pwn [NewStarCTF 2023 公开赛道]stack migration(64位栈迁移)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
鱼月半2 小时前
两台电脑直连网络不通怎么办?
linux·网络协议
光电笑映3 小时前
网络通信基础:从协议分层到 Socket 编程预备
linux·运维·服务器·网络
酸菜。3 小时前
dw_apb_gpio总结
linux
这料鬼有毒3 小时前
二刷hot100-1143.最长公共子序列
算法·leetcode·动态规划
wunaiqiezixin3 小时前
MIT 6.S081 file system 实验篇(lab9):Large files (moderate)
linux·unix·os·xv6·mit6.s081
GeW4 小时前
RHCE 考试通过率提升:核心考点、实验环境与排错技巧
linux