指向字符串的指针
-
将指针指向字符串:
-
可以指向常量字符串
-
也可以指向存储字符串的字符数组
-
#include <stdio.h>
int main()
{
char * words = "hello,china!"; //指向常量字符
puts(words); //打印字符串
printf("%p\n", words); //打印指针地址
words += 6; //指针地址加9
puts(words);
printf("%p\n", words);
return 0;
}
-
数组形式和执行形式的不同:
-
初始化字符数组会把静态存储区的字符串拷贝到数组中
-
初始化指针时只把字符串的地址拷贝给指针
-
#include <stdio.h>
int main()
{
//理解字符串和字符指针的区别
char str1[] = "hello, mengzhen!";
char *str2 = "hello, mengzhen!";
printf("字符串常量的地址:%p\n", "hello, mengzhen!");
printf("字符数组的首地址:%p\n", str1);
printf("字符指针的取值:%p\n", str2);
return 0;
}