美文网首页C语言
C语言之指针

C语言之指针

作者: 鹿港小镇betterman | 来源:发表于2020-04-07 17:03 被阅读0次

指针顾名思义就是一个指向某个位置的指针,例如钟表和车子的时速表,都有指针,指向的是一个时间或者速度,这里时间和速度就是指针指向的值。

在C语言中,指针是可以用一个十六进制的数值表示,例如0x0efdeee4523df,0x434564df6f6343

指针是可以进行运算的:

指针递增:

对于指向int类型数值的指针0x00000000000004,对其进行+1的操作后,指针变成0x00000000000008

对于指向long类型数值的指针0x00000000000012,对其进行+1的操作后,指针变成0x0000000000001a

对于指向short类型数值的指针0x00000000000210,对其进行+1的操作后,指针变成0x00000000000212

对于数组 int arr[3] = {100,200,300};   int *ptr;

取arr的地址是ptr = &arr,此时&arr实际上就是数组中第一个元素指向的地址,所以一般取数组地址直接写作ptr = arr;

对&arr地址进行+1的操作后,指针实际上移动了12个字节,就是sizeof(arr)的大小;

但是对arr地址进行+1的操作,指针实际上移动了4个字节,就是sizeof(int)的大小;

对指针的递增,实际上是改变了指针所指向的内存单元,+1就是指向下一块内存。

指针递减:

对于指针递减,根据指针递增的原理,递减就是减去对应的类型所占字节大小。

指针的每一次递增,它其实会指向下一个元素的存储单元。

指针的每一次递减,它都会指向前一个元素的存储单元。

指针在递增和递减时跳跃的字节数取决于指针所指向变量数据类型长度,比如 int 就是 4 个字节。

来自https://www.runoob.com/cprogramming/c-pointer-arithmetic.html

相关文章

  • iOS开发系列文章[转]

    C语言 iOS开发系列--C语言之基础知识 iOS开发系列--C语言之数组和字符串 iOS开发系列--C语言之指针...

  • C语言之指针

    1、指针是什么? 指针本质上是一个值为内存地址的变量 看以下例子 例子1 输出如下 分析:1、int * ptr。...

  • C语言之指针

    指针是一种数据类型 数据类型有哪些特性? 1、作为参数传值; 2、作为函数的返回值; 3、声明成变量; 为什么要声...

  • C 语言之指针

    一. 定义指针 指针定义的三要素: 1. 数据类型 2. 变量名 3. 初始值 Eg: int *a = NULL...

  • C语言之指针

    指针顾名思义就是一个指向某个位置的指针,例如钟表和车子的时速表,都有指针,指向的是一个时间或者速度,这里时间和速度...

  • 再学C语言之指针要点

    C之字符数组 C之指针引用字符串 C语言之数组指针 数组指针:首先它是一个指针,它指向数组指针数组:首先它是一个数...

  • C语言之指针[<重点>]

    指针:指针就是地址,地址就是指针。地址就是内存单元的编号。指针变量是存放地址的变量。指针和指针变量是不同的的概念。...

  • C 语言之函数指针

    一. 函数指针的定义 1. 函数的作用:完成某一特定功能的代码片段的封装. 2. 函数的定义: 返回值类型,函数名...

  • C语言之函数指针

    函数指针的定义 一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,与...

  • C语言之指针详解

    1 指针 1.1 简介 当初学C语言,指针是最头疼的地方,难以理解,不过时间长了就自然明白了通过指针,可以简化一些...

网友评论

    本文标题:C语言之指针

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