当前位置:   article > 正文

C语言指针总结_指针结论分析与总结

指针结论分析与总结

 一、指针

     了解指针:1.指针就是个变量,用来存放地址,地址唯一标识一块内存空间。

                       2.指针的大小是固定4/8个字节(32位操作系统/64位操作系统)。

                       3.指针有类型,其类型决定了指针可以进行+-整数和解引用时的权限。

                       4.指针可以与指针在同一个数组下进行-运算。

二、指针的类型

       先来举几个例子,比如:char *pc=NULL char类型指针变量,int *pi=NULL int类型的指针变量,从例子中可以看出指针的类型也就是对应C语言中的各种类型,只不过这种类型的变量是一个指针变量*p。

       指针类型的作用:指针是指向地址的,那么它就可以在内存里前后移动,那么它的类型就决定它在内存中移动一步有多大距离。

       注意:指针变量必须初始化,如果没有指向变量的地址,就初始化为NULL,否则就是未定义行为。

三、指针的级别

      概述:指针有一、二、三甚至更高级别的指针,我只简单分析一下一级和二级指针,想开发自己大脑的可以深入研究。

      一级指针:简单的来说就是存放地址的。

      一级指针可以干什么?

             1.指针可以指向一个存储变量/常量的地址,通过对地址的解引用可以访问该变量/常量;

             2.指针也可以传递参数,强调:数组不引用指针传递参数会退化成指针,这会影响对数组在外部函数中执行其他的操作。通过指针传递数组就可以避免数组隐式退化成指针(或者传递一个数组,但是数组如果很大,那么拷贝开销会很大)。

             举例:

                      

      二级指针:简单来说也是存放地址的,只不过存放的是一级指针变量的地址。

      举例:

                     

      通过这个例子我给大家分析一下二级指针,首先定义一个一级指针*p,在对p取地址定义二级指针**pp,通过打印的对pp和&p二次解引用或者打印pp和&p的地址来判断pp是否指向p的地址,由图可知,两者一样,所以这就是二级指针。

四、指针和数组

      说到指针和数组,便要想到数组名,我还是看例子说明。

      数组名的意义:

                             1.sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小;

                             2.&(数组名),这里的数组名表示整个数组,取出的是整个数组的地址;

                             3.除此之外所有的数组名都表示首元素的地址。

      举例:

                      

      通过代码运行结果可以看出,数组名和数组的首元素的地址是一样的,那么可以得出一个结论数组名就表示数组首元素的地址。

五、指针数组

      指针数组是数组,可以这样理解指针是修饰语,用来修饰数组,也就是数组中每个元素都是一个指针类型的元素。

      简单定义几个指针数组:int *arr[100]整形指针数组,char *arr[100]字符指针数组,char **arr[100]二级字符指针数组。

六、指针习题

      1.

            

     代码实现:

                    

      2.

                    

      3.

                 

             附加理解:

                  

             代码实现:

                        

      4.

                  

           代码实现:

                   

      5.

            

         代码实现:

             

      6.

            

       代码实现:

           

                   

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/175798
推荐阅读
相关标签
  

闽ICP备14008679号