前言:
先要理解地址和数据,你可以想象有很多盒子,每个盒子有对应的号码,那个号码叫做“地址”,而盒子里放的东西叫做“数据”。
上面就段理解了,*p和p的区别就不难解释了。
p是指针变量,用来存放地址,你可以认为是上面所说的盒子的号码,“*”是解引用操作符,你可以把它理解成打开盒子,*p就是打开p号盒子,取出里面的数据。
简单来说,你记住,p存放的是地址,而*p是让程序去那个地址取出数据。

总结:
假设我们定义一个指针p。
那么会经常使用到三个符号:
1,p;
2,*p;
3,&p;
初学者经常会感到很迷茫,到底这三个符号表示什么?
我们知道,p是一个指针变量的名字,表示此指针变量指向的内存地址,如果使用%p来输出的话,它将是一个16进制数。而*p表示此指针指向的内存地址中存放的内容,一般是一个和指针类型一致的变量或者常量。
而我们知道,&是取地址运算符,&p就是取指针p的地址。等会,怎么又来了个地址,它到底和p有什么区别?
区别在于,指针p同时也是个变量,既然是变量,编译器肯定要为其分配内存地址,就像程序中定义了一个int型的变量i,编译器要为其分配一块内存空间一 样。而&p就表示编译器为变量p分配的内存地址,而因为p是一个指针变量,这种特殊的身份注定了它要指向另外一个内存地址,程序员按照程序的需要 让它指向一个内存地址,这个它指向的内存地址就用p表示。而且,p指向的地址中的内容就用*p表示。


有着梦想,但改变不了世界, 只有坚持,让生活不再单调, 我不是我, 我还是我。

C语言*p、p以及p的区别相关推荐

  1. 强类型语言和静态类型语言有什么区别?

    另外,一方是否意味着另一方? #1楼 强类型意味着类型之间的转换之间存在限制. 静态类型意味着类型不是动态的 - 一旦创建变量,就无法更改变量的类型. #2楼 这经常被误解,所以让我澄清一下. 静态/ ...

  2. c语言 python-C语言和python的区别

    Python可以说是目前最火的语言之一了,人工智能的兴起让Python一夜之间变得家喻户晓,Python号称目前最最简单易学的语言,现在有不少高校开始将Python作为大一新生的入门语言.本萌新也刚开 ...

  3. run在java_Java语言start和run方法的区别

    Java语言start和run方法的区别 导语:Thread类定义了一个功能,用于存储线程要运行的代码,该存储功能就是run方法.那么它和start方法有什么不同呢?让我们了解一下吧! 调用start ...

  4. C语言 scanf()和gets()函数的区别

    C语言 scanf()和gets()函数的区别 1.相同点:scanf( )函数和gets( )函数都可用于输入字符串 2.不同点:两者在功能上有所区别,具体区别如下: 要实现如下需求"从控 ...

  5. C语言 vprintf 函数和 printf 函数区别 - C语言零基础入门教程

    目录 一.vprintf 函数和 printf 函数声明简介 1.printf 函数声明 2.vprintf 函数声明 二.vprintf 函数和 printf 函数使用 三.猜你喜欢 零基础 C/C ...

  6. C语言 #include <> 与 #include “” 区别 - C语言零基础入门教程

    目录 一.什么是头文件 二.#include <> 三.#include "" 四.#include <> 与 #include "" ...

  7. C语言 函数指针和指针函数区别 - C语言零基础入门教程

    目录 一.函数指针和指针函数声明的区别 1.函数指针 2.指针函数 二.函数指针和指针函数调用的区别 1.函数指针的调用 2.指针函数的调用 三.猜你喜欢 零基础 Python 学习路线推荐 : C/ ...

  8. C语言 指针数组和数组指针区别 - C语言零基础入门教程

    目录 一.简介 1.数组 2.指针 3.指针和数组区别 二.指针数组和数组指针区别 1.指针数组 2.数组指针 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> ...

  9. C语言和C++语言在语法上面的部分区别

    (2011-03-16 17:12:13) 标签: 杂谈 分类:计算机 C语言和C++语言在语法上面的部分区别: 1.C语言的定义必须在最前面,C++可以在任何地方定义,比如 for(int i=0; ...

  10. c语言中栈堆,全程剖析C语言中堆和栈的区别

    C语言中堆和栈的区别 1.申请方式 (1)栈(satck):由系统自动分配.例如,声明在函数中一个局部变量int b;系统自动在栈中为b开辟空间. (2)堆(heap):需程序员自己申请(调用mall ...

最新文章

  1. Python 字符串前面加u,r,b的含义
  2. PostgreSql与sqlserver对比杂记
  3. java 访问 网络swf_JAVA访问网络资源
  4. 网易云助力云音乐短视频功能快速上线
  5. 摄影测量--测边交会
  6. tf.nn的conv2d卷积与max_pool池化
  7. openjudge1.2
  8. SQL注入语法类型和sql盲注
  9. win10修复计算机摁什么,win10修复引导的方法教程
  10. VR/AR/MR/XR 几种虚拟现实技术的区别
  11. Android Verified Boot dm-verity 优化和实战2
  12. 关于lib文件夹和报java.lang.NoClassDefFoundError解决办法
  13. 便携式禁毒采样器的基础功能
  14. 倍福PLC:win7专业版系统安装TwinCAT3后图标灰色,报错0x426 starting TwinCAT system
  15. 人脸识别考勤系统安卓APP(手把手教学-手动滑稽)
  16. 信号处理中的低通、高通和带通滤波器
  17. 弹性文件服务(Scalable File Service,SFS)
  18. Android 11:固定热点的ip地址
  19. 柏拉图的篝火与技术呆子的分层模型
  20. 简单模拟word中对插入直线的操作

热门文章

  1. 【tensorflow】生成.pb文件
  2. [4G5G专题-31]:物理层-物理信道、信号、映射概述
  3. oppo修改无线网服务器,简单小修改,你的OPPO手机wifi信号会马上提升
  4. android 百度转码,自适应网站移动端被百度转码解决方案
  5. python江红第五章答案_【原创】半江瑟瑟半江红【第五章】
  6. 回调函数注入(Callback Injection)实例汇总
  7. linux版本市场占有率,2020年5月OS市场占有率报告:Ubuntu和Linux分别占有1.89%和0.97%...
  8. 流氓并不可怕,就怕流氓有文化 -- 这是一个知识改变命运的例子
  9. K8S的 CNI 详细原理以及解释
  10. 数据分析---pandas(一)