- 字符串指针变量:指向字符串的头指针。
char* ps = “language”; //可写为:char* ps; ps = “language”; - 字符数组=元素+元素+元素+。。。
static char s[] = {“language”}; //只能对各元素逐个赋值修改
注意:
- 定义时不要指向不可用地址(或者未知地址)char* name; //不知道指向哪里,需要初始化
- 用数组申请栈区 char name[20];
- 申请堆区 char* name; name = (char*)malloc(50);
字符串常量的简写:
char* p = “abcdef”; //常量只读,strcpy(p,“def”);错误,因为p指向的a是常量只读的
char a[] = “abcdef”; //可以修改,但是只能单个元素修改,strcpy(a,“def”);是对的
char = ‘a’; //堆区字符 sizeof 1
char a[] = “abc”; //栈区字符串 3
char* p = “abc”; //常量区字符串 4(指针)
char* p1 = new char[100];//堆区字符串 4