c 语言指针学习

   指针是c语言的难点和重点,灵活熟练的掌握了指针才能体会c语言的精华所在。

   首先什么是指针,这个对于初学者和不太熟练的人来说是个十分头疼的问题。有的人说指针就是地址,又有的人反对。我觉得初学者不要过分的深究这个概念,要实际的拿出代码来分析。这样才能帮助我们更好的理解什么是指针。    

 指针定义是

   首先我们要搞懂c语言中变量存取的方式。 在c语言中有2种方式:直接存取、和间接存取。

     int  a=8;

     int  b=a; //(直接) 通过变量名来获取变量的值。

                        (间接) 通过值的地址来获连续取存储单元。

 直接最大作用:通过地址来修改或者存取各种值,不用变量,从而更加灵活高效

#include<stdio.h> 
      void main() 

  { 

        //定义一个指针变量,数据类型 *(指针标识符) 指针变量名

         int*p=&a; 

  //这里p 打印出来的是就是a 的值 8.数组元素全为指针的数组称为

         printf("%d",p); 

指针变量的值是内存单元地址,是常量。变量可以存放指针,而p 称之为指针变量,指针变量只能存地址。


指针数组和数组指针

        数组元素全为指针的数组称为指针数组

 int * p[6]  符号[]优先级高于* ,p[6]为一个数组,外面是指针标识符。于是就等于定义了6个指针。

        指向数组的指针称之为数组指针。

        int (*p)[6] 因为加了括号 p 就是个指针,指向了6个int型的数组。

指针函数 函数指针

指针函数

char * f(char,char)

返回值是指针类型的。

函数指针

char (*f)(char,char)

指针可以指向整型变量、字符串、数组,同理指向函数的是指针变量


二级指针

 指向指针的指针

  int  **p;

一级指针保存的是数据的地址。二级指针保存的是指针。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值