首页 > 代码库 > c语言指针

c语言指针

一 预备知识

要学习c语言指针,运算符的优先级和变量如何在内存中存储。

1.1 运算符优先级表

这里需要重点关注* 和()、[]的优先级。

1.2 变量在内存中的存放

有两个概念需要明确,一个是内存地址,另一个是内存地址中的内容。好比电影院中作为的编号,1号座位,座位上坐的是人A,则1号座位则为内存地址,人A则为内容的内容。

int i;

当我们声明一个整型(int)变量(i)的时候,其实是向内存申请了一个整型宽度的地址,并把这个地址命名为i。

i=1;

这个赋值语句把1存入到i中,相当于有一个空盒子,我们把1放入到这个盒子中。

二 c语言指针

2.1 指针的各种定义

int *p;

声明一个变量p,p为指针,p的内容所指向的地址的内容为int。

2.2 指针的赋值

数组名为指针常量(指针及地址),与这个定义相同int *const p,这可以解读为,p的内容是一个常量,这个常量是一个指针,指针内容指向的内容为int型,这说明这个地址是不可以修改的,也就是不能运算的。

指向常量指针,const int * p,这可以解释为,p为指针变量,指针的内容为一个地址,这个地址的内容为一个int型,这个int型为常量。

 

2.3 指针的运算

 

 

 

 

 

 

 

 

 

 

 

 

c语言指针