区别:1、表示的含义不同,“*p”表示此指针指向的内存地址中存放的内容,“p”表示一个指针变量的名字,指此指针变量所指向的内存地址。2、输出的格式不同,“*p”输出的一般是一个和指针类型一致的变量或者常量,“p”输出的是一个16进制数, 输出一个指针的地址。3、功能不同,“*p”是让程序去那个地址取出数据,“p”用于存放的是地址。
本教程操作环境:windows7系统、c99版本、Dell G3电脑。
理解C语言中的*p
、p
C语言中,*p 和p都常用在指针当中表示一个指针变量。
想要利用指针,需先理解地址和数据:你可以想象有很多盒子,每个盒子有对应的号码,那个号码叫做“地址”,而盒子里放的东西叫做“数据”。
p是指针变量,用来存放地址,你可以认为是上面所说的盒子的号码,“ * ”是解引用操作符,你可以把它理解成打开盒子,p就是打开p号盒子,取出里面的数据。
简单来说,你记住,p存放的是地址,而p是让程序去那个地址取出数据。
在C 语言中*号有三个用途,分别是:
乘号,用做乘法运算,例如5*6。
申明一个指针,在定义指针变量时使用,例如int *p;。
间接运算符,取得指针所指向的内存中的值,例如printf("%d",*p);。
C语言中*p
和p
的区别
1、表示的含义不同
*p
表示此指针指向的内存地址中存放的内容。
p
表示一个指针变量的名字,指此指针变量所指向的内存地址。
2、输出的格式不同
*p
一般是一个和指针类型一致的变量或者常量。
p
输出的是一个16进制数, 输出一个指针的地址。
3、功能不同
*p
是让程序去那个地址取出数据。
p存放的是地址。
#include <stdio.h> int main(void){ int x=3; int *p,*q; p=&x,q=&x; printf("%d\n",*p++); printf("%d\n",(*q)++); printf("%d\n",x); }
输出结果为:3,3,4;
解释:
扩展知识:*p
和**p
的区别
int *p
:一级指针,表示p所指向的地址里面存放的是一个int类型的值
int **p
:二级指针,表示p所指向的地址里面存放的是一个指向int类型的指针(即p指向的地址里面存放的是一个指向int的一级指针)
例如:
int i=10; //定义了一个整型变量 int *p=&i; //定义了一个指针指向这个变量 int **p1=&p; //定义了一个二级指针指向p指针
那么取出10的值方式为:
printf("i=[%d]\n",*p); printf("i=[%d]\n",**p1);
相关推荐:《C视频教程》
以上是c语言中*p和p的区别是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

在线社区中关于鼠标还是键盘是系统最重要部分的争论可能会一直持续下去。但是,当您的鼠标指针出现问题时,您必须将所有内容放在一边,并且在找到问题的永久解决方案之前,您不能休息。在本文中,我们为罕见的鼠标指针方向错误问题策划了最佳解决方案。将指针移动到右侧,它在屏幕上向左移动,反之是然?只需按照这些简单的步骤。解决方法——如果这是您第一次遇到此问题,请按照以下步骤操作 -1. 将鼠标从系统上拆下,然后重新连接。通常,这可以解决问题。2. 如果您使用的是蓝牙鼠标,请检查鼠标的电池电量。3.尝试将鼠标与另

指针精度在需要更高精度和更好的光标定位的情况下至关重要。默认情况下,它在Windows11中处于启用状态,但您可能需要重新配置增强的指针精度以获得更好的性能。例如,您可能不希望Windows自动重新调整指针速度,而是在进行类似的鼠标移动时覆盖固定距离。什么是增强指针精度?增强的指针精度可根据鼠标移动的速度调整光标移动的距离。因此,鼠标移动越快,覆盖的距离就越大。对于那些想知道Windows增强指针精度做什么的人,它会改变鼠标灵敏度。如何在Windows11中打开或关闭增强指针精度?1.通过设置按

区别:1、表示的含义不同,“*p”表示此指针指向的内存地址中存放的内容,“p”表示一个指针变量的名字,指此指针变量所指向的内存地址。2、输出的格式不同,“*p”输出的一般是一个和指针类型一致的变量或者常量,“p”输出的是一个16进制数, 输出一个指针的地址。3、功能不同,“*p”是让程序去那个地址取出数据,“p”用于存放的是地址。

低级编程语言,如C或C++,经常使用指针来直接处理内存。它们能够实现有效的内存管理和低级数据操作。Thelow-levelcomplexitiesofmemoryadministrationareabstractedawayinPython,ahigh-levellanguage.Becauseofthis,PythonlacksexpresspointersinanequalmannerthatCorC++.Asanalternative,Pythonmakesuseofanideacompa

引用类型在Go语言中是一种特殊的数据类型,它们的值并非直接存储数据本身,而是存储数据的地址。在Go语言中,引用类型包括slices、maps、channels和指针。深入了解引用类型对于理解Go语言的内存管理和数据传递方式至关重要。本文将结合具体的代码示例,介绍Go语言中引用类型的特点和使用方法。1.切片(Slices)切片是Go语言中最常用的引用类型之一

C中const的详解及代码示例在C语言中,const关键字用于定义常量,表示该变量的值在程序执行过程中不能被修改。const关键字可以用于修饰变量、函数参数以及函数返回值。本文将对C语言中const关键字的使用进行详细解析,并提供具体的代码示例。const修饰变量当const用于修饰变量时,表示该变量为只读变量,一旦赋值就不能再修改。例如:constint

Golang是一门功能强大且高效的编程语言,可以用于开发各种应用程序和服务。在Golang中,指针是一种非常重要的概念,它可以帮助我们更灵活和高效地操作数据。指针转换是指在不同类型之间进行指针操作的过程,本文将通过具体的实例来学习Golang中指针转换的最佳实践。1.基本概念在Golang中,每个变量都有一个地址,地址就是变量在内存中的位置。

C++是一种面向对象的编程语言,它的灵活性和强大性通常为程序员提供了很大的帮助。然而,也正是因为其灵活性,编程时难以避免各种小错误。其中一个很常见的错误就是函数返回指针或引用时,不能返回局部变量或临时对象。那么该如何处理这个问题呢?本文将详细介绍相关的内容。问题的原因在C++语言中,局部变量和临时对象是在函数运行期间动态分配的。当函数结束时,这些局部变量和临


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3汉化版
中文版,非常好用

SublimeText3 Linux新版
SublimeText3 Linux最新版

记事本++7.3.1
好用且免费的代码编辑器

Dreamweaver CS6
视觉化网页开发工具