C语言中static char *P指针char *P指针,有什么本质的不同?

大神们帮我教下,C语言中static char *P指针char *P指针,有什么本质的不同?
最新回答
偶遇制造者

2024-04-28 05:18:20

  1. 前者是定义一个静态的字符形指针,后者是一个字符形指针:

  2. static,若声明一个静态的局部变量的。若希望函数中的局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下次该函数调用时,该变量保留上一次函数调用结束时的值。这时就应该指定局部变量为静态局部变量。
    若声明的是一个静态的

    全局变量
    ,则会禁止其它文件访问该全部变量,进行对该全局变量的保护,跟extern相对的。

  3. char *p只是一个普通的指针声明。

例如:

char** p1=NULL;char* p2[5];p1=p2;  // OKp2=p1; // errorp1=&p2[0];//OK