文章目录

  • 前言
  • 一、指针类型的作用
  • 二、int型指针类型与char型指针类型
    • int型指针类型
    • 2.char型指针类型
  • 总结

前言

指针指向的是一个变量存储的地址,那么在c语言中,不同类型的指针有什么作用?比如:int型指针、char型指针、double型指针


一、指针类型的作用

指针类型决定了指针进行解引用操作时,访问空间的大小。(解引用:“*”的作用是引用指针指向的变量值,就好像根据一个人的家庭地址一样找到一个人,解引用通过地址找到地址对应的变量值,并对其进行操作)

下面我们以int型的指针类型和char型的指针类型进行比较。

二、int型指针类型与char型指针类型

int型指针类型

代码如下(示例):

#include<stdio.h>
int main(){int a = 0x12345678;int* pa = &a;*pa = 0;}

这个代码块是利用解引用操作对a的地址的变量值进行操作。

这个操作会将变量a对应地址下的0x87 65 43 21(在计算机中,变量值是倒着存放的)修改成0x 00 00 00 00

2.char型指针类型

代码如下(示例):

#include<stdio.h>
int main(){int a = 0x12345678;char* pa = &a;*pa = 0;

这个操作会将变量a对应的地址下的0x 87 65 43 21修改成0x 00 65 43 21


总结

通过上述int型指针变量和char型指针变量的解引用操作可以看出,当使用int型接收a的地址后,对该指针对应的变量修改时,操作的范围是四个字节(16进制位的8位数对应的是四个字节),而对char型所接收a的地址对应的变量值修改时,操作的范围是一个字节。
指针类型决定了指针进行解引用操作时,访问空间的大小。
理解:在c语言中,char类型是一个字节,int类型是四个字节。那么我用char指针类型接收地址时,就只有一个char类型字节的操作范围(1个字节);;用int指针类型接收地址时,就只有一个int类型的操作范围(4个字节);
同理我们可以推出double指针类型的操作范围是八个字节!

指针类型作用详解(一):不同指针类型的访问范围不同相关推荐

  1. C语言指针结构体详解,结构体指针,C语言结构体指针详解

    结构体指针,可细分为指向结构体变量的指针和指向结构体数组的指针. 指向结构体变量的指针 前面我们通过"结构体变量名.成员名"的方式引用结构体变量中的成员,除了这种方法之外还可以使用 ...

  2. oracle改类型吗,详解Oracle修改字段类型方法总结

    最近学习了Oracle修改字段类型方法,留做记录. 有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter tab ...

  3. c语言二级指针有什么作用,C语言中二级指针的实例详解

    C语言中二级指针的实例详解 C语言中二级指针的实例详解 用图说明 示例代码: #include int main(int argc, const char * argv[]) { // int a = ...

  4. 3.堆栈指针寄存器 SP 详解

    堆栈指针寄存器 SP 详解 堆栈是一种具有"后进先出"(LIFO---Last In First Out)特殊访问属性的存储结构.堆栈一般使用RAM 物理资源作为存储体,再加上LI ...

  5. 【C语言】小妹不懂指针和数组的关系?那就安排指针数组关系详解

    目录 前言 一.什么是数组 二.什么是指针 三.指针变量的大小 四.数组和指针的关系 五.指针变量的自增自减运算 六.两个参数确定一个数组 七.字符型指针和字符型数组 总结 写在最后 前言 前段时间整 ...

  6. C语言(函数指针数组)详解

    要了解函数指针数组,可以从三个角度来分析.所谓函数指针数组,从字面意思上来解析,函数指针数组的组成有三个点,函数,指针,数组.首先我们知道,函数指针数组,是一个数组,数组的每个元素是函数指针,也就是一 ...

  7. this指针的用法详解

    C++中this指针的用法详解 2010-11-12 20:40:45 分类: C/C++ this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果.th ...

  8. Linux(centos)系统各个目录的作用详解

    转自:Linux(centos)系统各个目录的作用详解 现在公司的服务器使用CentOS系统,在网上找到了这篇介绍linux各个目录的文章,觉得十分不错,所以拿来存个档. 整理之后如下: 文件系统的类 ...

  9. VMware虚拟机文件夹中各文件作用详解

    VMware虚拟机文件夹中各文件作用详解 虚拟机的文件管理由VMware Workstation来执行. 一个虚拟机一般以一系列文件的形式储存在宿主机中, 这些文件一般在由workstation为虚拟 ...

最新文章

  1. 使用Apache Tiles3.x构建界面布局(一)
  2. 鸿蒙电视哔哩哔哩,[4K视频] 65寸智能电视只要3299元?荣耀智慧屏X1开箱
  3. Oracle优化05-执行计划
  4. 快手基于RocketMQ的在线消息系统建设实践
  5. 【教程】jQuery打造动态下滑菜单
  6. 《SAP 传奇人物》系列人物故事:看透生死远没有操作0和1那么简单
  7. python pygame模块怎么写游戏_使用 Python 和 Pygame 模块构建一个游戏框架
  8. 中国计算机学会暂停与IEEE合作;百度接连五位高管离职;所有版本 Docker 被爆严重漏洞!| 极客头条...
  9. 开涛spring3(5.15.2) - Spring表达式语言 之 5.1 概述 5.2 SpEL基础
  10. [sql2008错误问题] RegisteredServerException 异常
  11. 170517、Redis 的安装与使用(单节点)
  12. C语言 符号的不同意义
  13. ACM的奇计淫巧_扩栈C++/G++
  14. aho-corasick php,Aho-Corasick自动机浅析
  15. python爬取拉勾网_Python搭建代理池爬取拉勾网招聘信息
  16. ERP标准物料编码规则指南
  17. 转载蓝叠模拟器与android studio连接步骤
  18. 数据分析,把握商机 关键词采集工具助你挖掘潜在客户
  19. 颜色恒常知觉的计算理论——Retinex理论
  20. 戴尔便携式计算机右键,戴尔最新笔记本如何在右键菜单添加“在此处打开命令窗口”设置项?...

热门文章

  1. Residual Dense Network for Image Super-Resolution 代码详解
  2. 双链路是什么意思_Juniper SRX防火墙双链路配置实例一
  3. 记录Unity和C#遇到的坑(持续更新)
  4. 优秀毕业论文答谢词范文
  5. 可以上网,微信发不出文件
  6. 算法提高 9-3摩尔斯电码
  7. 不翻墙在Mac上安装brew的方法
  8. 每年是谁撑起了“双十一”网页不崩溃?是程序员还是软件测试工程师们?
  9. vue使用elemtui + xlsx实现excel导入,上传到koa后端
  10. 【MATLAB-app】系列教程(含视频)第4、5、6课:实战_制作简单的图像处理软件