• 【C语言学习笔记】指针


    用来存放一个变量地址的变量就叫指针变量。指针变量也是有类型约束的,一般什么类型的指针指向什么类型的变量。

    指针之所以叫变量,是因为它里面所存放的变量的地址也是不断变化的,指针是可以移动的。

    定义格式:

    类型名 *指针变量名  eg:int *pi;

    指针的作用都是一样的,都是用来存放地址的,为什么还要区分类型,因为指针变量只能存放特定定义类型的变量。

    让指针存放一个变量的地址:

    pi=&a;

    &叫取址符,*叫指针运算符。

    还有一种能存放指针变量地址的对象,他就是指向指针的指针。eg:int **p ; p=&s

    给指针变量赋值:

    1、通过求地址运算符(&)获得地址值

    int k=1,*q,*p;

    赋值语句为:q=&k;则把k的地址赋予了q,可以说变量q指向了变量k

    注意:1、&只能用于变量和数组,不可以用于表达式、常量和被说明为register的变量,因此:q=&k+1 q=&(k+1)都是错误的。

              2、&必须放在运算对象的左边,而且运算对象的类型必须与指针变量的类型相同。

    2、通过指针变量获得地址值

    可以通过赋值运算,把一个指针变量中的地址赋予另一个指针变量,从而使这两个指针指向同一个地址。

    int k,*q,*p;   q=&k ;p=q;

    也就是说指针变量q和p都指向了变量k.

    注意:当进行赋值运算时,赋值号两边的指针变量的基类型必须相同。

    3、给指针变量赋空值

    除了给指针变量赋地址值外,还可以给指针变量赋NULL值 。

    eg:p=NULL;

    当之真理上述语句之后,称p为空指针,NULL的代码值为0,等价于p='';p=0;

    注意:p并不是指向地址为0的存储单元,而是一个有确定的值“空” int *p  ; int *p=null;

    对指针变量的操作:

    1、通过指针来引用一个存储单元

    C语言提供了一个称作“间接访问运算符”,的单目运算符

  • 相关阅读:
    剑指offer的前16题-java版
    JAVA基本数据类型所占字节数是多少?(32位系统)
    二叉树的镜像
    阿里简历问题
    javaSE基础总结
    小心情
    九九乘法表-for循环和while循环
    Python PEP8 编码规范及中文版
    比大小和猜数字
    猜拳游戏
  • 原文地址:https://www.cnblogs.com/dream-to-pku/p/11378908.html
Copyright © 2020-2023  润新知