欢迎光临散文网 会员登陆 & 注册

C语言学习笔记

2021-09-10 11:01 作者:阿诺德维达  | 我要投稿

指针详解:

    内存中字节的编号称为地址(Address)或指针(Pointer)。地址从 0 开始依次增加,对于 32 位环境,程序能够使用的内存为 4GB,最小的地址为 0,最大的地址为 0XFFFFFFFF。

    变量名和函数名为助记符,让我们在编写代码的过程中可以使用易于阅读和理解的英文字符串,不用直接面对二进制地址。

需要注意的是,虽然变量名、函数名、字符串名和数组名在本质上是一样的,它们都是地址的助记符,在编写代码的过程中,我们认为变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或数据块的首地址

C语言本质就是CPU对内存地址操作。

&来获得它的地址;str 本身就表示字符串的首地址,不需要加&。%为格式输出,%#X表示以十六进制形式输出,并附带前缀0X,%p也是可以的。

数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们就称它为指针变量。

这种变量称为指针变量。指针变量的值就是某份数据的地址,这样的一份数据可以是数组、字符串、函数,也可以是另外的一个普通变量或指针变量。

现在假设有一个 char 类型的变量 c,它存储了字符 'K'(ASCII码为十进制数 75),并占用了地址为 0X11A 的内存(地址通常用十六进制表示)。另外有一个指针变量 p,它的值为 0X11A,正好等于变量 c 的地址,这种情况我们就称 p 指向了 c,或者说 p 是指向变量 c 的指针。

定义指针变量:

*是一个特殊符号,表明一个变量是指针变量,定义p 时必须带*。而给p赋值时,因为已经知道了它是一个指针变量,就没必要多此一举再带上*,定义后可以像普通变量一样使用不要加*了。定义指针变量时必须带*,给指针变量赋值时不能带*

解引用值:





C语言学习笔记的评论 (共 条)

分享到微博请遵守国家法律