C指针基础(一)

    xiaoxiao2021-03-25  65

    理解指针首先要记住一点,通常情况下指针就是地址,永远不要忘记这一点。当然也有例外,所以这里说通常情况下,但是那个例外我们一般很难接触到,所以这里就不再赘述了。

    声明

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

    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语言程序设计现代方法, K.N.King, 人民邮电出版社

    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

    转载请注明原文地址: https://ju.6miu.com/read-36849.html

    最新回复(0)