C语言重点解剖指针和数组要点速记
创始人
2024-05-06 07:50:21

1.指针指向的是最低字节地址。

2.每一次跑程序,变量的地址都会是随机的,这是一种保护机制。基本上不可以使用地址直接访问变量。

3.以下是一段有意思的代码。

0eebec74053d4be6b11868c64090714e.jpg

4.在栈上开辟变量,地址由高到低变化,值得注意的是,不是连续的,中间会有一些空白。

5.在开辟空间的角度,不应该把数组认为成一个个独立的元素,应该整体开辟空间,整体释放。

6.对指针加1,本质上加上其所指向类型的大小。

7.对于非1级指针变量加1,跳过4个字节,因为不管什么类型的指针变量,大小都是4个字节。(32位)

8.数组只能整体初始化,不能整体赋值。

9.指针和数组,在寻址的时候是不一样的。这两个东西没有任何关系。

10.

17ca066d356a49608a24f9b41152fa4f.jpg

11.数组传参,发生降维,降维成指针。

12.arr和&arr的区别:

9ed42db4f4e043169bc1771ce260e401.png

13.数组指针和指针数组:

fee36be6ca264778a54a09b5dba1ac6b.jpg

 35a329c311504314ac35b697861b8c4b.jpg

14.数组的元素个数是数组类型的一部分。

15.强制类型转换:本质是改变看待数据的方式,对数据本身不会发生任何变化。

16.地址的强制转换

b05858930a0c4f56839d8d54280683ae.jpg

17.二维数组

b5e3cd47c98f4b79b23606254248d389.png

18.二维数组数组名的含义

09c2e303499f445db7610515aca63351.png

19.二维数组的细节问题。

de9d6d320f7d4a479eddcdfde339a7dc.jpg

20.指针相减,代表指针之间所经历的元素的个数。(不是字节数)(注意正负)

60e45379d01a4a669c8c17e9be434ee1.png

21.二级指针的概念。

1cb865b902744a1fa79689063926965d.png

22.二维数组传参的时候,只有第1个维度可以被省略。

23.函数也有地址

cd345ba1bd9844c4a2c6ec3a57d7f08e.png

24.函数名和&函数名是一样的,都是函数的地址。(但是不能加(),加了()就是函数调用)

25.void (*p)() = fun

以上是一个函数指针,没有参数,返回值为空。

72ff86955e0a464da7e0ce889057c3ec.jpg

26.以指针的形式调用函数。

fun() 等价于 (*p)() 等价于 p()

25ae75952654472aa5cd68cc8ef785e4.jpg

27.函数调用的细节

a54dd8d43224479083f43b2f83144ad2.jpg

 

相关内容

热门资讯

阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...