浮名此生分享 http://blog.sciencenet.cn/u/hailangww 工学博士

博文

[转载]C语言中*p 和p的区别

已有 8250 次阅读 2022-12-15 13:29 |系统分类:科研笔记|文章来源:转载

C语言中,*p 和p都常用在指针当中表示一个指针变量,*p 和p的区别:


表示的含义不同

*p表示此指针指向的内存地址中存放的内容。

p表示一个指针变量的名字,指此指针变量所指向的内存地址。


输出的格式不同

*p一般是一个和指针类型一致的变量或者常量。

p输出的是一个16进制数, 输出一个指针的地址。


  1. 功能不同
    *p是让程序去那个地址取出数据。
    p存放的是地址。

#include <stdio.h>

void main()

{

int x=3;

int *p, *q;

p=&x, q=&x;

printf("%d\n",*p++);

printf("%d\n",(*p)++);

printf("%d\n", x);

}

输出结果为:3,3,4;

解释:

*p++:是先取出*p的值,再使p加1;

//p是个指针,给p加1,相当于让p指向x所在地址下一个位置,而对于x没有任何影响;

(*q)++:是使*q的值加1;

//*q则是q指向的位置对应的值,此时*q=3,当输出*q后,再给*q即x自加1,x就会变成4。

————————————————

版权声明:本文为CSDN博主「Goodideaer」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/Goodideaer/article/details/114300935




https://blog.sciencenet.cn/blog-54347-1367971.html

上一篇:[转载]PID控制
下一篇:[转载]C语言里指针问题
收藏 IP: 58.34.184.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-20 04:44

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部