//字符串(比赛,公司,必选项)
#include<stdio.h>
int main()
{
//"abc","123","黑马程序员"
char str1[5] = { 'a','b','c','d','\0'};
char arr = "abcd3";
char str2[4] = "abc";
printf("%s\n", str2);
//在底层,实际存储的时候,在末尾还要加上‘\0’
//细节2:
//数组的长度可以不写,写的话要把‘\0’的空间留出来 原长度+1
str2[1] = 'Q';
//如果有长度,内容会发生改变
printf("%s\n", str2);
//指针+双引号方式定义字符串
char* str3 = "abcd";
char* str4 = "abcd";
//细节:只有这种方式定义的字符串,会把底层的字符数组放在只读常量区
//只读常量区特点:
//内容不可以改变
//里面定义的字符串可以复用
//普通常量区:可读可写
// str3[0] = "Q";如果是指针定义的不能修改
printf("%s\n", str3);
printf("%p\n", str3);//复用后,两个数组地址一样
printf("%p\n", str4);//打印地址
return 0;
}