目录
1. 字符指针
在指针的类型中我们知道有一种指针类型为字符指针 char* ,指向字符的指针
1.1 一般用法:字符指针指向单字符
#include<stdio.h>
int main()
{
//字符指针
char a = 'm';
char* pc = &a;
pc = 'w';
printf("%c", pc);
return 0;
}
1.2 第二种用法,字符串首地址给指针变量
char *str ="abcdef"的本质意义是把字符串的首字符的地址传给指针变量str了
#include<stdio.h>
int main()
{
//字符指针
char* str = "abcdefgh";
char* ps = str;
printf("%s", ps);
return 0;
}
这里我还写了个错误代码
#include<stdio.h>
int main()
{
//字符指针
//char a = 'm';
//char* pc = &a;
//pc = 'w';
//printf("%c", pc);
char* str = "abcdefgh";
char* ps = &str; //给str取地址了
printf("%s", ps);
return 0;
}
这里传给*ps的地址就不是字符串的首地址了,传的是&str自己的地址,
1.3 习题,下面代码的输出结果是什么?为什么?
#include <stdio.h>
int main()
{
char str1[] = "hello code.";
char str2[] = "hello code.";
const char* str3 = "hello code.";
const char* str4 = "hello code.";
if (str1 == str2)
printf("str1 and str2 are same\n");
else
printf("str1 and str2 are not same\n");
if (str3 == str4)
printf("str3 and str4 are same\n");
else
printf(<