C语言指针类型

这部分内容其实很简单,本来不想写的,但是一开始我还真没理解指针类型,所以后来想想还是写一个吧!得了废话少说直接上代码

#include <stdio.h>
#include <malloc.h>int main()
{unsigned char ff = 4;    unsigned char ee = 3;unsigned char dd = 2;unsigned char cc = 1;int* p = (int *)&cc;     //定义一个int类型指针,指向cc变量地址printf("cc = %p\ndd = %p\nee = %p\nff = %p\n\np  = %p\n\n",&cc,&dd,&ee,&ff,p);//打印地址:cc = 0xbfb1664c    注意这个地址可能每次运行都是变化的,因为它是局部变量,所以每次都是变化的//        dd = 0xbfb1664d        //        ee = 0xbfb1664e//        ff = 0xbfb1664f////        p  = 0xbfb1664c////显然是他们地址都是挨着呢! cc变量的地址是首地址,而且前面定义的p指针也指向ccprintf("cc = %d\n", cc);     //cc = 1printf("dd = %d\n", dd);     //dd = 2printf("ee = %d\n", ee);     //ee = 3printf("ff = %d\n\n", ff);   //ff = 4printf("*p = 0x%.8x\n\n",*p);//打印输出*p = 0x04040201;*p = 3;printf("cc = %d\n", cc);     //cc = 3printf("dd = %d\n", dd);     //dd = 0printf("ee = %d\n", ee);     //ee = 0printf("ff = %d\n\n", ff);   //ff = 0printf("*p = 0x%.8x\n\n",*p);//*p = 0x0000003*p = 300;printf("cc = %x\n", cc);     //cc = 2cprintf("dd = %x\n", dd);     //dd = 1printf("ee = %x\n", ee);     //ee = 0printf("ff = %x\n", ff);     //ff = 0printf("*p = 0x%.8x\n\n",*p);//*p = 0x0000012c  //这里0x012c十进制就等于 = 300return 0;
}

看下终端输出:

上面程序里面注释已经写得非常清楚了,所以不讲了

总结:指针类型其实就是按照内存地址取几个字节,char就取1个字节,short就取2个字节,int就取4个字节

但是这些类型又跟编译器、操作系统有关系

参考资料是“狄泰软件C语言进阶教程”

深入理解C语言指针类型相关推荐

  1. C语言指针类型 强制转换

    关于C语言指针类型 强制转换  引用一篇文章: C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值.不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个 ...

  2. 深入理解C语言指针的奥秘-4

    深入理解C语言指针的奥秘-4 http://www.gooogleman.com/forum.php?mod=viewthread&tid=18722&fromuid=1290 转载于 ...

  3. 最热网友收藏:深入理解C语言指针的奥秘((2007年第3周)

    2007年第3周最热网友收藏 深入理解C语言指针的奥秘(93),共121人收藏,yanglilibaobao首先收藏 我来做个好人吧,40种网站设计常用技巧(78),共440人收藏,wuzeng200 ...

  4. C语言指针类型和所指数据的类型要一致吗

    C语言指针类型和所指数据的类型必须要一致吗 网上很多答案是:"必须,不一致会出现语法错误",但是 no try no know. 首先看下我的环境: 下面是代码: #include ...

  5. 深入理解C语言指针的奥秘(转)

    指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址.   要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的   类型,指针的值或者叫指针所指向的内存区,还有指针本身所占 ...

  6. C语言指针类型的意义

    ▶️文章目录 ✅1.指针的概念 ✅2.指针和指针类型 ✅3.野指针 ✅3.1野指针成因 ✅3.2如何规避野指针 1.指针的概念 指针就是地址,口语中说的指针通常指的是指针变量 指针理解的2个要点: 1 ...

  7. C语言 指针 类型的用法大汇总(指针/引用/取值) *与

    今天刚好看汇编需要,就学了学. 本篇文章会不断完善,有疑问,请在评论区留言 对星号 * 的总结 1.表示乘法,例如int a = 3, b = 5, c; c = a * b;,这是最容易理解的. 2 ...

  8. c语言的返回类型是指针变量吗,C语言-指针类型

    改值场景示例 - 改变 n 的值 的函数 void change(int n) { n = 10; } int main() { int a = 20; - 这里只能把 变量a 的值传到 change ...

  9. c语言指针类型占多少字节,关于指针占多少个字节

    开章明义,在32位系统中指针占四个字节: 说道这个问题,学过C语言的都知道,我们在定义一个指针的时候需要说明指针的类型,那么按道理来说,不同类型的指针大小应该不同啊,整形占四个字节,浮点占八个字节,其 ...

最新文章

  1. struts2 理解
  2. 死磕Java并发:深入分析volatile的实现原理
  3. 深入理解spark两种调度模式:FIFO,FAIR模式
  4. 排序算法_桶排序(箱排序)
  5. 最新版mac使用m1芯片,使用nvm安装低版本的node报错问题
  6. 0x84bb0001 sqlserver_sqlserver 2000 远程连接 服务器的解决方案
  7. java程序解析perl文件_如何从shell脚本执行perl文件
  8. 向量二次规划matlab,MATLAB中使用Opti Toolbox的混合整数二次规划
  9. feign.RetryableException: Read timed out executing POST http://......
  10. UE5热更新(Pak包的Cook,打包,加载,踩过的一些坑)
  11. 【转】Excel表格的35招必学秘技
  12. PS CC2018安装及破解方法
  13. 光猫DNS服务器未响应,有光纤猫了还要猫吗?
  14. layui下拉框联动查询效果
  15. CWNP宣布中国首位CWNE获得者——朱志立(Kevin Zhu)
  16. 详解UniSwap、无聊猿、PlatoFarm空投的逻辑
  17. 黑猫带你学UFS协议第1篇:全网最全UFS协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...)
  18. 阿里X82Y的解决方案及接口
  19. sql数据库质疑恢复办法
  20. 【背包问题】基于禁忌搜索算法求解背包问题附Matlab代码

热门文章

  1. 经历一周的远程办公,你还期待天天在家上班吗?
  2. 切削技术首页 基础知识 钻镗铣加工 影响平面铣削的要素
  3. 感恩有你,我们大会见?
  4. java 逻辑或 作用_java逻辑运算符有哪些?逻辑运算符有什么作用?
  5. opencv-python笔记-基础与直方图均衡
  6. 八种排序算法动画讲解
  7. element中el-dialog的:visible.sync理解
  8. 美术规范、Drawcall数量
  9. vscode怎样彻底卸载干净
  10. C++之构造函数的初始化参数表