关于C语言指针相关心得

限于现在没有太多的时间,把自己对这一重要知识,进行非常深挖自己真实想法的总结,但还是觉得能说一说自己的见解,毕竟知识的巩固就是同自己对话,从而完善的。

对指针的初步理解

指针其实是电脑自己的调用方式的具体体现,通过访问其存储地址的方式完成一系列操作,是基于电脑运行逻辑的操作方式,相对应的指针也只能存储地址,理解指针,就像是查询一个又一个库房中的数据,我们有了对应的库房号,才能知晓其具体位置,只不多先前的访问都是计算机通过逻辑术语最后转成了自己能看懂的话。指针呢,就是其本质之一。

指针的基础知识点

有以下几点:

  1. 定义指针变量:指针是一种特殊的变量类型,用于存储内存地址。指针变量定义时需要指定指针类型和指向的变量类型,例如 int *p 表示定义一个指向整型变量的指针变量。

  2. 取地址运算符:& 运算符可以用于获取变量的内存地址,例如 int a = 10; int *p = &a; 表示定义一个指向整型变量 a 的指针变量 p,并将 a 的地址赋值给 p

  3. 解引用运算符:* 运算符可以用于获取指针所指向的变量的值,例如 int a = 10; int *p = &a; printf("%d", *p); 表示输出指针变量 p 所指向的整型变量 a 的值。

  4. 指针的算术运算:指针可以进行加、减、比较等运算,例如 p++ 表示将指针 p 指向下一个地址。

  5. 指针和数组:数组名可以看作是指向数组首元素的指针,例如 int a[5]; int *p = a; 表示将指针变量 p 指向数组 a 的首元素。

  6. 指针和函数:函数可以返回指针类型的值,例如 int *func(int a, int b); 表示定义一个返回指针类型的函数。同时,指针也可以作为函数的参数传递,例如 void func(int *p); 表示定义一个接收指针类型参数的函数。

  7. 指针和动态内存分配:C语言中可以使用 malloc 函数动态分配内存,返回值是一个指向分配内存的指针,例如 int *p = (int *)malloc(sizeof(int) * 10); 表示动态分配了一个可以存储 10 个整型变量的内存空间,并将其地址赋值给指针变量 p

  8. 指针和指针数组:指针数组是一个数组,其中每个元素都是一个指针,例如 int *p[5]; 表示定义一个包含 5 个指针元素的数组。

特别值得注意的是野指针的存在,野指针是不和谐的,类似于bug的存在,其出现方式过多,无法一一枚举。暂时先写这些非常常用的吧,本人能力有限,写给自己看看得了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值