首页 > 代码库 > C语言指针解释

C语言指针解释

C语言指针往往是C语言学习过程中最困难的地方, 最近重新理解了一下C语言的指针知识, 在此整理一下, 如果有错误请留言指正.

指针根据应用不同的地方, 功能也是不同的, 在此尽量以最简单的方式进行叙述.


 

指针应用主要分为两个方面, 一是定义阶段. 另一个是使用阶段.

一. 定义阶段

int *p;

 

这里表示定义了一个int型指针, 即*p指向内存中一块地址, 占用4个字节(后面会进行解释4字节, 但是简单一提是int类型占用4字节, double占用8字节).

int a=1;
int
*p=&a;

 

此处与上面不同的地方是在定义指针的同时, 将其指向的地址赋初值为1, 即将*p指向的地址存入int类型的数且该数为1.

二. 使用阶段

*p=2;

 

前面已经定义了int型的指针, 且指针指向的地址赋初值为1. 这里想把*p指向的地址中的值赋为2, 则使用*p=2.

这里比较混乱的地方是下面这种情况:

 

C语言指针解释