前言赋予指针地址的时候要类型匹配。 For instance"name"是char*类型内容 让两个指针指向同一个字符串 1234567891011121314#include<stdio.h>int main(){ char* name = "faye"; //让name(指针)指向字符串,即name就是这个字符串的地址 printf("%s\n", name); char * str; //重新定义一个指针 str = name; //让str(地址)被赋予name(地址)so,str也指向这个字符串 printf("%s\n", str); //这时name和str的地址一样 str = "hello"; //改变了指向的字符串内容 printf("%s\n", str); return 0;} 一个间接的 给指针的指针赋值,让两个指针指向同一个字符串 1234567891011121314151617#include<stdio.h>int main(){ char* name = "faye"; printf("%s\n", name); char** str; //char**也是一个类型,定义了指针的指针 str = &name; //我让字符串地址的地址赋给了str(也就是name的地址) //重点啊,地址的地址是一一对应的,也就是地址上的值还是地址 //自然而然 *str = "ferry"; //让*str指向“ferry”,改掉 printf("%s\n", *str); //ferry printf("%s\n", name); //ferry //发现原来地址上的值被改掉 return 0; 字符串类型的地址 123456char* origin = "origin"; //开辟空间 for(int i = 0; i < 3; i++) printf("%s\n", origin + i);// *origin *(origin + 1) *(origin + 2)是"origin" "rigin" "igin"