文章目录
C语言的学习之旅中,二级指针乃至多级指针往往是初学者感到“恶心”却又不得不面对的重要概念。
不过,一旦掌握了它们的精髓,你会发现它们其实并不那么可怕,反而在某些高级应用中显得尤为强大和灵活。
一,指针的回忆杀
1,指针的概念
指针就是内存地址,内存地址指向内存中的一个单元,这个单元就像一个个小房间,里面住着某种数据,可能是整数,可能是浮点数,可能是字符,也可能是另一个指针。
为了方便理解和记忆,可以把指针当作酒店房间号。
指针作为一种特殊的数据,也需要存储在内存中。
2,指针的声明和赋值
C语言通过指针变量为指针开辟一块内存。
int num = 10;
int* p;
p = #
如上代码,定义了指针变量p,声明变量时如果带有*号,说明这个变量是指针变量。
这个*号的作用是告诉编译器,这个指针变量p要存储的是变量num的值的内存地址,这个内存地址从形式上看也没什么特别,就是一个整数。
上面的代码中p = #,通过地址运算符&取出变量num的地址,赋给指针变量p。

3,指针的使用
3.1 直接给指针变量赋值
上面的代码中p = # 所示,可以和普通变量一样,直接给指针变量赋值,只是这个值代表的是内存地址而已。
3.2 通过*运算符读写指针指向的内存
3.2.1 读
我们还可以通过* 运算符操作指针指向的内存中的值。
int num = 10;
int* p;
p = #
int num2 = *p;
如上代码最后一行int num2 = *p;,运算符*的作用是告诉编译器,找到指针p指向的地址,从中读取数据。
3.2.2 写
当然,可以修改指针指向的内存中的数据。
int num = 10;
int* p;
p = #


3677

被折叠的 条评论
为什么被折叠?



