一、字符串的指针
字符串的指针,字符串在内存中的地址,也就是第一个字符的地址。字符串是一个常量,字符串的值,就是字符串的地址。(指针就是地址)
二、指向字符串的指针变量
使用一个指针变量保存字符串的地址,把这个指针变量就叫做字符串的指针变量。
比如
char *p;
p = “zhangsan”;
//p保存了”zhangsan”的地址,也就是’z‘的地址。
两种方式保存字符串
#include <stdio.h>
#include <string.h>
int main(int argc, const char * argv[]) {
//使用数组的方式引用字符串,可变字符串
char name[] = "zhangsan";//定义的是一个字符串变量!
//使用指针的方式引用字符串, 字符串仍然是常量
char *pname = "zhangsan";//定义的是一个字符串常量!
name[0] = 'm';
printf("name = %s\n", name);//name = mhangsan
//程序崩溃,因为pname指向的字符串不可变
//pname[0] = 'm';
printf("pname = %s\n", pname);//pname = zhangsan
// 使用strlen函数测量字符串长度
long len = strlen(pname);
printf("字符串长度:%ld\n", len);//字符串长度:8
return 0;
}