详解C指针

简介: 对于C语言开发来说内存的管理显得很重要,尤其是对于初学者刚学指针会感到头疼,学了很久也不知道指针到底是个什么东西,本文将简单介绍指针相关的内容。

1.指针的定义:

所谓指针就是一个变量的地址,指针本身也是一个变量,指针的值就是变量的地址,所以对于一个一级指针的地址就是一个二级指针。



2.指针的两大要素

(1)起始地址:指针的值

(2)步长:指针的类型

对于一个一级指针来说步长为一个列指针,二级指针步长为一个行指针,三级指针步长为一个面指针,每升一级(取一次地址)加一维,降一级(借一下引用)降一维。



3.指针的运算

(1)对于指针来说:自增与自减的单位都是指针的步长,比如对一个二级指针来说,++一次会到下一行的相同列。

(2)指针的大小与类型无关,与操作系统位数有关。

对于32bits操作系统:

sizeof 指针 = 4bytes

对于64bits操作系统:

sizeof 指针= 8bytes

对于数组名(数组名可以理解为一种特殊的指针,我们后面会介绍):

sizeof 数组名 = 数组的大小



4.指针的应用

(1)传参过程中我们传指针能提高传参效率

(2)传参过程中传指针可以间接改实参的值



5.一些练习题

image.png

image.png


相关文章
|
6月前
|
C语言 C++
深入理解指针
深入理解指针
63 2
|
6月前
|
存储 C语言
指针详解(3)
指针详解(3)
|
6月前
|
编译器
深入理解指针(2)
深入理解指针(2)
39 2
|
6月前
|
存储
什么是指针
什么是指针。
34 5
|
6月前
|
存储 C语言 C++
指针是什么
指针是什么
33 0
|
6月前
|
编译器
指针(1)
指针(1)
25 0
|
存储 C++
c/c++指针
c/c++指针
48 0
指针(一)
系统给内存的每一个字节,分配一个编号,这个编号就是内存地址
指针(一)
|
存储 编译器 C++
一文带你理解C++的指针
一文带你理解C++的指针
162 0
一文带你理解C++的指针