c语言指针p=*q,C语言中指针*p=*q与p=q有什么区别

news/2024/11/28 9:34:43/

满意答案

00e27ab806e4881f8254fe7ae8741834.png

jiang1972

2018.02.01

00e27ab806e4881f8254fe7ae8741834.png

采纳率:43%    等级:10

已帮助:21人

若p和q是申明为类型兼容的指针变量,且都正确赋有合法值且不为NULL,那么,*p=*q是把指针q指向的目标值赋给指针p指向的目标;p=q则是使指针p指向指针q指向的目标(最终是p和q指向了同一目标,这个目标就是q指向的目标)。在q==NULL时,*p=*q非法操作,p=q是合法操作(使p和q同为NULL)。综上,除q为无效(NULL)时不能取值操作外,正常情况下*p=*q操作的是指针指向的目标,p=q操作的是指针本身——这是二者的本质区别。以下代码可以验证:#include "stdio.h"int main(int argc,char *argv[]){int *p,*q,a=334,b;q=&a;p=&b;*p=*q;printf("b = %d,\ta = %d\n",*p,*q);//b获得了a的值p=q,b=123;printf("*p = %d,\t*q = %d,\tb = %d\n",*p,*q,b);//p,q都指向了a,b值未变q=NULL;p=q;//NULL指针作右值是合法的printf("p = %p,\tq = %p\n",p,q);printf("%d\n",*p);//取NULL指针的值*p是非法的return 0;}验证结果如下:

00分享举报


http://www.ppmy.cn/news/686947.html

相关文章

Q绑查询HTML源码

简介: 可用的查询源码,支持本地查询或者上传到空间访问,支持上传二级目录访问! 网盘下载地址: http://kekewl.cc/6C9hSq3ZsHi0 图片:

Q-Learning

一、什么是Q-learning Q-Learning是强化学习中,一种基于值(values-based)的算法,最终的return是一个表格,即Q-Table。这个表格的每一行都代表着一个状态(state),每一行的每一列都代表着一个动作&#xff08…

ATE0Q0V1

Android的ril代码中initializeCallback函数发送的第一个AT指令是“ATE0Q0V1”,很是迷惑了一阵,后来才明白这是三个指令的合并:”ATE0ATQ0ATV1“。 ATE0:不回显字符。 ATE1:回显字符。 ATQ0: 返回结果码。 ATQ1&am…

(stm32)Unix时间戳

时间戳计时系统和常用的年月日时分秒计时系统有很大差别 时间戳:只计算从1970年1月1日0点整为0秒,只用最基本的秒来计时,用不进位。 常用计时系统:60秒进位1分钟,60分钟进位1小时,24小时进位1天&#xff…

【前端|CSS系列第3篇】CSS盒模型、浮动及定位

在前端开发中,CSS是一项重要的技术,用于控制网页的样式和布局。在本系列的第三篇文章中,我们将学习CSS的盒模型、浮动以及定位,这些概念和技术在页面布局中起着至关重要的作用。通过本文的学习,希望能够帮助大家更好地…

Python笔记之自定义函数

Python3 定义函数 Python3 定义函数 定义一个函数语法实例求解二元一次方程函数调用参数传递可更改mutable与不可更改immutable对象 python 传不可变对象实例传可变对象实例 参数 必选参数关键字参数默认参数可变参数命名关键字参数位置参数不定长参数可变参数列表参数列表的分…

触控面板 开发_长信科技研发内核不断升级 成触控显示一体化领军企业

2020-06 16 文 | 黄群 1993年,芜湖市设立国家级经济技术开发区,这是安徽省第一家国家级经济技术开发区,长信科技是开发区的第一家企业。 今年是长信科技成立20周年,也是公司上市10周年。过去的一年,长信科技进入国资序…

Android RadioButton和CheckBox无法显示的问题

在一个项目中&#xff0c;使用到RadioButton&#xff0c;但是发现在xml中添加了控件&#xff0c;就是死活显示不出来&#xff0c;代码如下&#xff1a; <RadioButtonandroid:id"id/exam_check_btn"android:layout_width"wrap_content"android:layout_h…