前言:
先要理解地址和数据,你可以想象有很多盒子,每个盒子有对应的号码,那个号码叫做“地址”,而盒子里放的东西叫做“数据”。
上面就段理解了,*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. ICLR 2019高分论文抢先看,谁是第一?
  2. 【每日一算法】求众数
  3. 赔得比赚得多,职场人年终奖都花哪儿了?
  4. UDP socket 设置为的非阻塞模式
  5. 总结redis中对象的类型与编码
  6. 新浪微博WeiboManageAction的java实现
  7. el表达式 循环_EL表达式和JSTL标签库(百战程序员047天)
  8. #6281. 数列分块入门 5
  9. 微信小程序-仿淘宝(附真机测试图)(持续更新中。。。)
  10. 功能自动化接入持续集成方案
  11. matlab基于瑞利信道,基于matlab的瑞利信道仿真.docx
  12. 本地html导入印象笔记,LocalNote,让你像使用本地文件一样使用印象笔记(支持 markdown 格式)...
  13. 2021数学建模B题及思路
  14. 软件项目活动图 关键路径
  15. C#报错Newtonsoft.Json.JsonSerializationException: “A member with the name ‘phone‘ already
  16. Java实现餐厅点餐系统
  17. 解决VS Code 运行 “conda : The term ‘conda‘ is not recognized as the name of a cmdlet, function, script “
  18. Linux != Windows( Linux 不是 Windows)
  19. 如何通过UTON WALLET数字钱包创建和使用你的元宇宙身份
  20. 快速搭建简单图床 - 远程访问本地搭建的EasyImage图床【内网穿透】

热门文章

  1. I'm Nobody! Who are you?
  2. 利用PyCharm实现服务器远程代码开发
  3. 学生管理系统(超详细)
  4. FeignClient出现FeignClientSpecification的根本原因分析
  5. COGNOS安装笔记
  6. 小明的调查作业java_小明的调查作业
  7. RSPapers | 对话推荐系统论文合集
  8. MySQL8.0.11修改root密码
  9. iOS:crash崩溃日志分析
  10. 软件测试的国家标准及链接,软件测试相关国家标准.doc