C语言 指向字符串的指针变量

  1、指向字符串的指针变量

   字符串在内存中也有一个对应的内存地址,把这个内存地址保存到一个指针变量中,该指针变量就指向了字符串。

  

   2、例子:

       char *p = "456";   

    

       void main()

       {

        *p;

        *(p+1); 

       }

 

指针 地址 字符串
p  指向 1000

p+1 指向

1001
p+2 指向 1002
  1003 \0

 

     

 

 

 

 

   例子分析:

    (1)首先,在程序中,我们是定义了指向字符串"456"的指针变量p。

    (2)在main函数中,p当前是指向字符串“456”起始地址1000,所以,*p就取出地址1000中的值1。

    (3)在main函数中,第二行代码,先用p+1,即地址1000+1=1001,然后*(p+1)就取出地址1001中的值5。

 

     所以,通过上面的例子,我们可以知道,指向字符串的指针并不代表整个字符串“456”,

     而它只是指向字符串里同其中一个字符,具体要指向哪个字符就可以让指针变量的当前地址值加上或减去某个值,

     然后,使用“*”来取出该地址中值就可以了。

        

    另外,字符串的指针——就是字符串的地址,在上面的表格中,字符串“456”的指针就是1000。

 

=======================================================================

非常好,现在,我们已经掌握了C语言中的(指向字符串的指针变量)但是,如何去运行用它呢?

所以,我们就需要通过下方的链接,进入到C语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。

>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行 编程训练)