目录

实例1:

实例2:


指针的定义方式是: type + * 
 char* 类型的指针是为了存放 char 类型变 量的地址。
short* 类型的指针是为了存放 short 类型变量的地址。
int* 类型的指针是为了存放 int 类型变量的地址。
指针的类型,决定了指针向前或者向后走一步的举距离。

实例1:

#include <stdio.h>
int main()
{int n = 0x11223344;char *pc = (char *)&n;int *pi = &n;*pc = 0;   //重点在调试的过程中观察内存的变化。*pi = 0;   //重点在调试的过程中观察内存的变化。return 0;
}

首先,十六进制在内存中逆向存储, 为:  44 33 22 11

第一种情况:当*pc = 0   pc为char类型只修改 1 字节,将44赋值为0

得到 0x11223300

第二种情况, 当*pi = 0  pi为int 类型修改4字节 结果为  0x00

实例2:

#include <stdio.h>
int main()
{int arr[] = {1,2,3,4,5};short *p = (short*)arr;int i = 0;for(i=0; i<4; i++){*(p+i) = 0;}for(i=0; i<5; i++){printf("%d ", arr[i]);}return 0;
}

当指针为short 类型时,每次只修改2字节

对于数组arr来说,每个元素都占4字节

所以short类型的指针移动4次,共移动了8字节,只讲 1 , 2 修改为0其余不变

结果为  0 0 3 4 5

当题目变,我们把short 改为char ,共移动4字节, 结果为  0 2 3  4 5

改变为int , 共移动16字节,结果为  0 0 0  0 5

C语言 指针的解引用详解相关推荐

  1. C语言中指针与数组的区别,C语言 指针与数组的详解及区别

    C语言 指针与数组的详解及对比 通俗理解数组指针和指针数组 数组指针: eg:int( *arr)[10]; 数组指针通俗理解就是这个数组作为指针,指向某一个变量. 指针数组: eg:int*arr[ ...

  2. C语言 指针+二维数组详解 (应付期末、考研的最强笔记,建议收藏)

    哈喽!这里是一只派大鑫,不是派大星.本着基础不牢,地动山摇的学习态度,从基础的C语言语法讲到算法再到更高级的语法及框架的学习.更好地让同样热爱编程(或是应付期末考试 狗头.jpg)的大家能够在学习阶段 ...

  3. android ndk 智能指针,智能指针与弱引用详解

    在android 中可以广泛看到的template class Sp 句柄类实际上是android 为实现垃圾回收机制的智能指针.智能指针是c++ 中的一个概念,因为c++ 本身不具备垃圾回收机制,而 ...

  4. c语言不兼容指针类型的赋值,关于C语言指针赋值的问题详解

    一个代码: 代码如下: #include #include #define uchar unsigned char #define uint unsigned int void display(uch ...

  5. 大二c语言期末考试题库及详解答案,大学C语言期末考试练习题(带详解答案)...

    <大学C语言期末考试练习题(带详解答案)>由会员分享,可在线阅读,更多相关<大学C语言期末考试练习题(带详解答案)(55页珍藏版)>请在金锄头文库上搜索. 1.一. 单项选择题 ...

  6. c语言线性表库函数大全,数据结构(C语言版)-线性表习题详解

    <数据结构(C语言版)-线性表习题详解>由会员分享,可在线阅读,更多相关<数据结构(C语言版)-线性表习题详解(23页珍藏版)>请在人人文库网上搜索. 1.数 据 结 构 ,线 ...

  7. gets和fgets函数及其区别,C语言gets和fgets函数详解

    gets和fgets函数及其区别,C语言gets和fgets函数详解 每当讨论 gets 函数时,大家不由自主地就会想起 1988 年的"互联网蠕虫",它在 UNIX 操作系统的 ...

  8. 基于C语言的JPEG编码代码详解

    一.基于C语言的JPEG编码代码详解 #include <stdio.h> #include <stdlib.h> #include <string.h>#prag ...

  9. c语言memset函数用法,C语言memset函数使用方法详解

    C语言memset函数使用方法详解 一.函数原形   void *  memset(void*s, int ch,size_t n) 二.函数作用  将以s内存地址为首的连续n个字节的内容置成ch,一 ...

最新文章

  1. 一名算法工程师,对流量和时代红利的思考
  2. WebLogic 数据源密码加密
  3. Asp.Net Core 第02局:Program
  4. 全民学python(01)
  5. JVM(HotSpot) 垃圾收集器
  6. MySQL中的UNIX_TIMESTAMP函数使用总结
  7. python 学习DAY11
  8. 【编码】-整数排序-2016.08.10
  9. Memcached的Web管理工具MemAdmin(待实践)
  10. android 添加pdf字体,为Android添加多国语言包.pdf
  11. 求二次方程的根 b^2-4ac的三种可能
  12. 小米:VR产业中Android的现状与挑战
  13. 解决人人商城无法退款的问题
  14. 开放式激光振镜运动控制器:C++振镜矫正方法与实现
  15. 51单片机 | 外部中断实验
  16. maven 一次打包多个maven项目
  17. 东京工业大学 计算机 大学院,2020年东京工业大学计算机科学硕士申请条件
  18. 前端js实现asr(语音转文字)
  19. 如何快速绘制电气原理图,回路图
  20. python快速输入括号_LeetCode_Python(20)_有效的括号

热门文章

  1. jzoj5935小凯学数学
  2. 【科普向】从gtx480的落败到并行计算再到SIMD,MIMD,SIMT
  3. 科技不总是冷冰冰,智能便携打印机让文字更有温度!——硬件方案篇
  4. 海量数据的存储和访问解决方案
  5. ESP8266-Arduino编程实例-DS1624数字温度传感器驱动
  6. 【机器学习】目标函数总结
  7. linux 原子变量
  8. js 或者vue中for循环去掉最后一个逗号
  9. 中英文排版字符间距不一致,英文自动断字
  10. python写入文件没反应_记第一个问题——python文件无法写入数据