C指针基础(一)

来源:互联网 发布:网络销售授权 编辑:程序博客网 时间:2024/05/01 17:02

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

声明

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

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;

参考资料

  1. C语言程序设计现代方法, K.N.King, 人民邮电出版社

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

1 0