美文网首页
C指针基础之声明与初始化

C指针基础之声明与初始化

作者: 退休码农飞伯德 | 来源:发表于2019-11-23 23:53 被阅读0次
    图片来自互联网

    理解指针首先要记住一点,通常情况下指针就是地址,永远不要忘记这一点。当然也有例外,所以这里说通常情况下,但是那个例外我们一般很难接触到,所以这里就不再赘述了,后面这个系列会出指针的高级用法,在那里我会讲到这些。

    声明

    首先,我们先看一下指针的声明。指针声明和声明其他变量一样,唯一不同的一点就是要在变量前加 *

    int *p;
    

    初始化

    • 可以用地址初始化。

        int i;
        int *p;
        p = &i;
      
    • 可以一边声明一边初始化,但只能用地址去初始化,而且必须首先声明i

        int i, *p = &i;
      
    • 两个运算符

    指针中最重要的两个运算符是*&符号。对于前者,我们需要注意int *p = &a*p = a中的*是完全不同的,第一个*用来声明一个指针,后一个用来间接寻址,访问存储在对象中的内容。后者是取地址符号,可以找到变量的地址,并赋给一个指针变量。

    指针赋值

    C语言允许使用赋值运算符进行指针的复制,前提是两个指针具有相同的类型

    正如前面所说,我们可以通过取地址符号为一个指针变量赋值:

    int i, j, *p, *q;
    p = &i;
    

    当然,也可以指针与指针之间赋值:

    q = p;
    

    另外,通过间接寻址符号*我们可以为指针指向的对象赋值:

    *p = 1; //此时i的值为1
    

    也可以将一个指针指向的对象的值赋给另一个指针指向的对象:

    *q = *p;
    

    相关文章

      网友评论

          本文标题:C指针基础之声明与初始化

          本文链接:https://www.haomeiwen.com/subject/vxvkwctx.html