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

深入理解字符串常量

#include
int main() {
	char str1[] = "abcd";
	char* str2 = "abcd";
	printf("%s\n", str1);
	printf("%s\n", str2);
	return 0;
}

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

c语言练习题40:深入理解字符串常量_第1张图片

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

字符串常量不能被修改

例如1:

#include
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;
}

c语言练习题40:深入理解字符串常量_第2张图片

 c语言练习题40:深入理解字符串常量_第3张图片

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

例如2:

c语言练习题40:深入理解字符串常量_第4张图片

c语言练习题40:深入理解字符串常量_第5张图片 

你可能感兴趣的:(c语言,算法,linux)