
指针
文章平均质量分 59
发生了什么Bug
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
指针(地址)+1和指针(地址)的二进制表示+1的区别
结论:结构体指针+1表示对该结构体指针偏移一个结构体大小的地址。换句话说,指针加1,结果是对该指针增加1个储存单位大小的长度。如果一个int类型的指针ip,那么ip+1指向的是计算机内存中的下一个整数,它不同于ip所指向地址的下一个内存的位置。那么p+1=0x00027,这与p的二进制表示0x00023+1指向的内容完全不同。从上图可以看出,pf+1和pf的地址差0x0c,也就是结构体fifo的大小。就是对指针偏移所指类型大小的地址。假设p=0x00023;原创 2023-11-17 15:00:22 · 781 阅读 · 0 评论 -
使用指针操作二维数组
【代码】使用指针操作二维数组。原创 2023-11-06 11:49:55 · 127 阅读 · 0 评论 -
传参场景下的类型不匹配问题
参数传递过程类似于赋值,因此主函数调用foo,并传参,相当于char **argv赋值给const char **p。这种赋值方式是非法的,关于为什么是非法的,这需要阅读ANSI C标注关于赋值操作需要满足的约束条件。原创 2023-10-06 22:08:00 · 107 阅读 · 1 评论 -
指针的本质&指针运算
指针的原始初衷用途,其实就是访问一片匿名的动态内存。指针变量自身也是一个变量,和普通变量的不同之处就是:普通变量存放的是一个数,而指针变量存放的是一个地址。无论指针是什么类型,它存放的都是一个地址,只不过这个地址上存放不同类型的数据而已。指针变量无论是什么类型的,它的大小都是4字节,指针变量的大小和系统有关,和类型无关。在一个64位系统中,指针变量存储的是64位地址,因此指针变量的大小也就随之变为8字节。原创 2023-09-28 11:04:56 · 89 阅读 · 0 评论