指针 和 字符串
用指针遍历字符串的所有字符:
1 // 定义一个指针p
2 char *p;
3
4 // 定义一个数组s存放字符串
5 char s[] = "mj";
6
7 // 指针p指向字符串的首字符'm'
8 p = s; // 或者 p = &s[0];
9
10 for (; *p != '\0'; p++) {
11 printf("%c \n", *p);
12 }
用指针直接指向字符串:
1 #include <string.h>
2
3 int main()
4 {
5 // 定义一个字符串,用指针s指向这个字符串
6 char *s = "mj";
7
8 // 使用strlen函数测量字符串长度
9 int len = strlen(s);
10
11 printf("字符串长度:%D", len);
12 return 0;
13 }
其实,调用strlen函数时,你传一个地址给它就行了,它会从这个地址开始计算字符的个数,直到遇到空字符'\0'位置,
因此传入指针变量或者数组名都可以。
其他字符串处理函数也是一样的:
1 char *strcpy(char *, const char *); // 字符串拷贝函数
2 char *strcat(char *, const char *); // 字符串拼接函数
3 int strcmp(const char *, const char *); // 字符串比较函数
char a[] = "lmj";定义的是一个字符串变量!
char *p2 = "lmj";定义的是一个字符串常量!严格来说,应该写成const char *p2 = "lmj";,前面加个常量修饰符