美文网首页C
指针+1会发生什么?

指针+1会发生什么?

作者: SnC_ | 来源:发表于2019-06-11 13:41 被阅读0次

指针本身的大小,与计算机架构有关,如今一般为8字节。
指针的内容,为其指向data的地址。

char *a = "qw";
printf("%p %p",a,a+1);

结果为0x1023d0fad 0x1023d0fae,两者地址相差1byte。char类型的大小为1byte。

void指针与char指针相同,指针加1,地址相差1byte

int a = 1;
int *b = &a;
printf("%p %p\n",b,b+1);

结果为 0x7ffeee050ae8 0x7ffeee050aec,两者地址相差4byte。int类型的大小为4byte。

可知,指针+1,结果为 指针内容+sizeof(指针类型)*1

Remark
此性质使得指针可以完成数组取数据的操作。
数组作为函数参数时,可以指针传递。

相关文章

  • 指针+1会发生什么?

    指针本身的大小,与计算机架构有关,如今一般为8字节。指针的内容,为其指向data的地址。 结果为0x1023d0f...

  • 被weak修饰的对象在被释放的时候会发生什么?是如何实现的?知道

    被weak修饰的对象在被释放的时候会发生什么? 1.被weak修饰的对象在释放时,weak指针会自动被置为nil。...

  • 空指针和野指针

    1、什么是空指针,什么是野指针 2、野指针的危害

  • git rest 重置

    git reset HEAD什么都不会发生, 指针指向当前位置 git reset --mixed HEAD~1H...

  • 【Objective-C】09-空指针和野指针

    一、什么是空指针和野指针 1.空指针 1> 没有存储任何内存地址的指针就称为空指针(NULL指针)2> 空指针就是...

  • iOS空指针和野指针

    一、什么是空指针和野指针 1.空指针 1> 没有存储任何内存地址的指针就称为空指针(NULL指针) 2> 空指针就...

  • 指针的详解1(什么是指针)

    在学习C语言的时候,很多小伙伴们不能理解什么是指针,怎么理解指针,怎么去用等等问题; 下面,我来为大家详细的介绍一...

  • C指针(1):指针和内存

    C指针 指针和内存 1.指针的声明 指向未初始化的内存的指针可能会产生问题。如果将这种指针解引,指针的内容可能并不...

  • 指针

    1、什么是指针? 通俗来讲——指针就是变量,用来储存地址的变量。 2、指针数组 & 数组指针 指针数组:它是一个数...

  • 内存管理

    1.僵尸对象、野指针、空指针分别指什么,有什么区别? 野指针:指针变量没有进行初始化或指向的空间已经被释放。 使用...

网友评论

    本文标题:指针+1会发生什么?

    本文链接:https://www.haomeiwen.com/subject/fuaffctx.html