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:

相关推荐
ysu_03148 小时前
05 | 持久化撤销提示非核心功能
算法·游戏程序
ysu_03149 小时前
06 | 200个单元测试C项目也能TDD
c语言·单元测试·tdd
天空'之城9 小时前
Linux 系统编程 22:五种 IO 模型全解
linux
浮沉98710 小时前
二分查找算法概述&通用模板
算法
小张成长计划..10 小时前
【Linux】10:冯·诺依曼体系结构和操作系统
linux·运维·服务器
Keven_1111 小时前
算法札记:SPFA判负环算法的证明
算法
什巳11 小时前
JAVA练习278- 和为 K 的子数组
java·学习·算法·leetcode
Jerry11 小时前
LeetCode 347. 前 K 个高频元素
算法