其中char*是指什么,还有后边有个+3是干什么的,谢谢了
指针向后移动三位,比如字符串char* str=“abcdefg”,向后移动3位,str+3就成了“defg”了
```c
a的类型应该是char吧。char * 是指指向一个char类型数据的地址。
a是char型的数据,比如说保存在地址为0x10001的地方(存储的位置),那么&a就是指0x10001这个值(地址这个值是随便举的例子,在内存中,这个值是系统随机分配的,并不是固定的)。&a前面括弧里的东西其实是申明,意思是提醒编译器这个是个指针;(char *)&a就是相当于0x10001这个地址值了,后面的+3也就是地址值+3,如果a是数组或者是结构体的成员,比如说a=ch[1],那么+3就是ch[4];这个p的数据类型是char *,也就是它是个指针,指向的是一个char型的数据,也就是p指向的是ch[4]
```
char*用于把a地址转换为char类型的指针,即+1,往后移动到下一个字符的位置,这里的+3就是把p赋值为a地址往后移动3个字符的地址
char*是当前指针的地址,地址赋给a,然后再加3
第一个char *
是声明p是指向字符的指针
第二个char *
是强制转换a的地址为字符指针+3
表示a的地址值往后挪三个字符