指针的赋值问题?怎么给一个指针赋值

2024-07-03 20:03:19 21

指针的赋值问题?怎么给一个指针赋值

各位老铁们好,相信很多人对指针赋值都不是特别的了解,因此呢,今天就来为大家分享下关于指针赋值以及指针的赋值问题的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

指针的赋值问题

指针是个存着地址的变量,因为我们每定义一个变量,内存就会给他分配空间,那么每个变量必须会有一个存储他的地方,我们称为地址,他指向谁,里面就存着谁的地址。如题*p=a;此时p里面存的是a的地址(记住这一点),还可以用取地址符&获取变量的地址,如&a表示的是a的地址。变量的值可以用*号获取。* 后面加一个地址,表示这个地址里面的数值(也记住,很重要)定义3个原则A * 后面只能跟地址, *p 表示参数的值B &后面只能跟变量。 &a 表示参数a的地址C ’=‘ 是赋值,为了程序的稳定,我们默认只允许同类型的参数进行赋值(若不同类也会赋值,但是执行结果会出错)就是说,只允许,指针地址赋值给指针地址,变量值赋值给变量值。了解这些,就可以分析了:int *p,*q; q=p; //对的,因为p,q都是指针,可以相互赋值 依据 A,C原则int a,*p,*q; p=q=&a//对的,p,q指针表示地址,根据B原则,&a也是地址,因此可以进行赋值int a,*p,*q; q=&a p=*q;//错的,q =&a 是对的,但是p =*q 是错的,根据原则A,C,*q是值,p是地址,与原则C冲突 int a=20,*p; *p=a;// 对的,他们都表示值int a=b=0,*p; p=&a b=*p;//对的,p = &a 原则BC ,b = *p 原则ACint a=20,*p,*q=&a *p=*q;// 对的,初始时q得到a的地址,*p和*q都是表示值,符合原则Cint a=20,*p,*q=&a p=q;//对的,原则BCint p,*q; q=&p// 对的,原则BC祝你进步,指针自己琢磨下,会明白的!

怎么给一个指针赋值

指针其实就是内存地址。使用指针可以深入硬件底层。可以用&运算符将变量的地址取出。赋予指针。inta=5,int*p=&a数组中,数组名表示数组的起始地址。因此可以将数组名赋予指针。intarry;int*p=array;还有动态分配内存时。int*p=newint,classA*p=newClassA();也是在运行时堆中分配指定大小的内存块。并把内存块起始地址赋予指针变量p.简单的应用就是这样。复杂的指针应用比如函数指针等。说白了还是地址。用来实现类似于C#委托功能。用久了自然会清晰了。在指针的运算中。编译器会自动计算地址增加量。比如针对p++后;int型的指针的值:当前地址+sizeof(int)。内存是按字节编址的。classA类型的指针的值:当前地址+sizeof(classA)。对其解引用后*p指向的就是下一个元素的值。比如对于数组指针。*array=array*(array+1)=array;

C语言指针的赋值问题

指针在用要注意初始化,例如:

int *p;

p为指针,地址是未知的,如果直接赋值

*p=a;这样编译可以通过,但是会产生警告,p的地址是随机分配的,这样对未知的地址赋值很危险,可能会覆盖掉某些重要数据,所以避免这种危险,在定义指针时注意初始化,也就是赋值。

可以int *p=&a;

或者int *p;

p=&a;

然后再对p进行操作

有错。

注意大小写,还有

int a=9;

int *p;

p=&a;//这个是指针指向a

*p=8;

这样就对了。

扩展资料:

指针的赋值

int *p;

int a;

int b;

p = &a; 

p = b; 

指针的赋值,“=”的左操作数能够是*p,也能够是p。

当“=”的左操作数是*p时,改变的是p所指向的地址存放的数据;

当“=”的左操作数是p时,改变的是p所指向的地址。

数组的变量名b表示该数组的首地址,因此p=b;也是正确的

同类型的指针赋值:

int val1 = 18,val2 = 19;

int *p1,*p2;

p1 = &val1;

p2 = &val2;

p1 = p2;   //注意啦,p1指向了val2,而没有指向val1

备注:字符串与指针的初始化和赋值

初始化:

char *cp = "abcdefg"; //这个初始化过程,是将指针cp指向字符串的首地址,而并非传递字符串的值。由于,在C语言里面,没有总体处理一个字符串的机制

赋值:

cp = "abcdefg";

*cp=”abcdefg” ;//错误!字符串常量传递的是它的首地址,不能够通过*cp改动该字符串的值,由于该字符串为常量,而它仅仅是简单的将指针指向该字符串常量。

c语言 指针如何赋值

  指针的赋值  int*p;  inta;  intb;  p=&a  p=b;  指针的赋值,“=”的左操作数可以是*p,也可以是p。  当“=”的左操作数是*p时,改变的是p所指向的地址存放的数据;  当“=”的左操作数是p时,改变的是p所指向的地址。  数组的变量名b表示该数组的首地址,因此p=b;也是正确的.  同类型的指针赋值:  intval1=18,val2=19;  int*p1,*p2;  p1=&val1  p2=&val2  p1=p2;//注意啦,p1指向了val2,而没有指向val1

指针变量的赋值

我想你的t是指针,t=0,意思是说指针t指向0这个位置,*t=100意思是说t指向的位置的值是100这里要分清两个地址,指针地址(可以用数字表示比如前面的t=0,得有地方放指针阿)和指针指向的地址(也就是说*t=100之前t是有指针地址的,这个指针地址所指向的位置叫做指针指向的地址,*t=100是把这个指针地址所指向的一块地方存储100这个数字)解释的够清楚了

(C语言)地址为什么要变成指针才能赋值给指针变量呢

指针即地址。所以您的问题问的不对。

我所理解的应该是想问为什么变量需要取地址以后再赋值给指针变量,即int a,*p; p=&a

先讲个小概念,数字23,在“今年我23岁了”这句话中23的语义是年龄;在“我的偶像身穿23号篮球服”这句话中23是篮球服的编号。也就是说数字23在不同的语句环境中语义不一样。

回归正题,int a,*p; p=&a 在这里我们定义了两个整形变量,在内存中他们都存放的是二进制编码,但是他们的语义是不一样的,一个用来存放整数,一个却是用来存放指向一个整形变量的指针(指针即地址)。简单说这两个变量可不一样,一个是普通变量存放常用的数值,一个是特殊变量(所以还要加个*号区分一下)存放另外一个变量的物理地址。

这么讲您能明白嘛?不明白的话可以再邀请我回答这个问题。

如果你还想了解更多这方面的信息,记得收藏关注本站。

指针的赋值问题?怎么给一个指针赋值

本文编辑:admin

更多文章:


intele5300多少钱(买个intel奔腾 e5300的CPU多少钱)

intele5300多少钱(买个intel奔腾 e5300的CPU多少钱)

本文目录买个intel奔腾 e5300的CPU多少钱INTELE5300价格买个intel奔腾 e5300的CPU多少钱Intel 奔腾双核 E5300(盒)(Intel 奔腾双核 E5300(盒))类别:CPU 品牌:Intel 在CP

2024年4月17日 15:05

家用洗碗机的优缺点(洗碗机有哪些优缺点真的省力省时还是夸大效果)

家用洗碗机的优缺点(洗碗机有哪些优缺点真的省力省时还是夸大效果)

本文目录洗碗机有哪些优缺点真的省力省时还是夸大效果洗碗机有什么好处与坏处买了洗碗机的朋友们,洗碗机有什么优缺点洗碗机的优缺点有人用过洗碗机吗 优缺点是什么家用洗碗机使用优缺点分析洗碗机的优点和缺点有哪些洗碗机有哪些优缺点真的省力省时还是夸大

2024年6月1日 05:08

笔记本电脑什么cpu性能最好(电脑CPU哪个比较好用)

笔记本电脑什么cpu性能最好(电脑CPU哪个比较好用)

本文目录电脑CPU哪个比较好用笔记本处理器性能排行榜电脑CPU哪个比较好用电脑CPU好用的有英特尔酷睿i9-7980XE@2.60GHz、英特尔酷睿i9-7960X@2.80GHz、英特尔酷睿i9-7940X@3.10GHz、英特尔酷睿i9

2023年10月23日 09:35

华硕k42de笔记本(华硕K42DE笔记本怎么样)

华硕k42de笔记本(华硕K42DE笔记本怎么样)

本文目录华硕K42DE笔记本怎么样几年前买的华硕笔记本K42De,现在太卡,想换cpu,加内存条,怎样合理配置华硕 K42De 笔记本电脑 性能怎么样华硕笔记本K42DE能不能更换显卡求高手解答!华硕K42De笔记本电脑如何提高其性能急求,

2024年5月22日 19:26

gt610能玩csgo吗(玩csgo,gt610m可以吗)

gt610能玩csgo吗(玩csgo,gt610m可以吗)

本文目录玩csgo,gt610m可以吗610m显卡能玩csgo吗玩csgo,gt610m可以吗系统:Windows®7/Vista/XP处理器:英特尔酷睿2双核E6600或AMD羿龙X38750处理器或更好内存:1GBXP/2GBVista

2024年5月27日 07:56

漫步者耳机官网商城(漫步者蓝牙耳机怎么样好不好呢)

漫步者耳机官网商城(漫步者蓝牙耳机怎么样好不好呢)

本文目录漫步者蓝牙耳机怎么样好不好呢漫步者耳机官方买还是第三方淘宝漫步者官方店叫什么漫步者蓝牙耳机怎么样好不好呢这个漫步者蓝牙耳机很不错,在京东各大网上商场就有,他有一下售后保障,可以去看看,价格在280元左右。厂家服务本产品全国联保,享受

2024年1月2日 09:55

q460是什么材质的钢材(Q460钢板是什么材质)

q460是什么材质的钢材(Q460钢板是什么材质)

大家好,关于q460是什么材质的钢材很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于Q460钢板是什么材质的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目

2024年6月24日 21:45

迅盘接口固态硬盘(固态硬盘和迅盘可以一起装吗)

迅盘接口固态硬盘(固态硬盘和迅盘可以一起装吗)

本文目录固态硬盘和迅盘可以一起装吗迅盘固态硬盘性能怎么样迅盘与SSD的取舍PCIE-SSD和迅盘有什么不同t61p迅盘能装固态硬盘吗请问Thinkpad x61可否使用迅盘所用的mini-PCIE接口来装mini-PCIe接口的SSD硬盘(

2024年6月24日 15:14

荣耀v8有红外遥控功能吗(国产手机带红外线的有哪些)

荣耀v8有红外遥控功能吗(国产手机带红外线的有哪些)

本文目录国产手机带红外线的有哪些nfc红外遥控收音机的手机华为哪一款手机可使用蓝牙遥控器国产手机带红外线的有哪些同时带有并支持NFC和红外遥控功能的国产手机有:一、华为荣耀V8华为荣耀V8是华为旗下华为荣耀在2016年5月10日举行年度新品

2023年12月23日 12:55

精粤主板和华南主板哪个好(精粤主板怎么样)

精粤主板和华南主板哪个好(精粤主板怎么样)

本文目录精粤主板怎么样大家觉得华南的主板怎么样华南金牌的主板好吗山寨主板鼻祖华南金牌推出400多的B660主板,这次终于不是山寨了想买个b75主板是华南金牌的好还是精粤更稳啊华南金桥的主板好用还是精粤的主板好用精粤和华南哪家好华南主板怎样各

2023年12月21日 09:20

苹果13电池够用一天吗(苹果13电池送外卖能用几个小时啊)

苹果13电池够用一天吗(苹果13电池送外卖能用几个小时啊)

本文目录苹果13电池送外卖能用几个小时啊苹果13电池能用一天吗苹果13电池耐用吗苹果12和13电池续航的实际使用区别大吗苹果13promax50个电能用多久苹果13电池送外卖能用几个小时啊苹果13电池送外卖一天肯定没有问题的。3-5个小时吧

2024年6月20日 14:14

畅享10e拆机图(畅享10e手机电池更换)

畅享10e拆机图(畅享10e手机电池更换)

本文目录畅享10e手机电池更换华为畅享10手机更换电池教程畅享10e手机电池更换建议提前备份好手机中的数据(微信/QQ等需单独备份)并携带保修凭证前往附近的华为客户服务中心进行维修,华为客户服务中心地址信息查询方法如下:1、通过手机打开服务

2024年6月12日 12:02

佳能200d一代停产了吗(佳能200d是什么意思)

佳能200d一代停产了吗(佳能200d是什么意思)

本文目录佳能200d是什么意思佳能200d怎么样,值得购买吗佳能官方商城EOS200d二代为什么老是没货,一般多久补货!eos 200d 是什么时候上市佳能100d是否已停产佳能200d二代为什么下架了佳能200d二代现在还产吗请问佳能10

2023年8月20日 00:30

三星s9 美版 详细参数(三星S9+美版怎么弄指纹支付)

三星s9 美版 详细参数(三星S9+美版怎么弄指纹支付)

本文目录三星S9+美版怎么弄指纹支付三星s9美版和国行的区别三星S9+美版怎么弄指纹支付美版三星s9要想用指纹支付的话要在三星PAY里设置一下才能使用,美版三星s9的硬件和国行、港版没有区别,不可以面部识别支付。美版三星s9指纹支付设置步骤

2023年12月9日 16:25

手机导航app下载(用手机导航要下载什么软件)

手机导航app下载(用手机导航要下载什么软件)

本文目录用手机导航要下载什么软件苹果手机导航怎么下载手机,下载什么导航软件好用用手机导航要下载什么软件三星部分手机内置导航软件,如高德导航、百度地图、中国移动手机导航等,建议您通过手机应用程序中查找。若您的手机中没有内置导航软件,但内置GP

2024年4月4日 01:15

fusion是什么意思(斐乐fusion是什么意思)

fusion是什么意思(斐乐fusion是什么意思)

本文目录斐乐fusion是什么意思fusion是什么意思及反义词funk和fusion的区别是什么斐乐fusion是什么意思斐乐fusion是斐乐旗下的全新潮流运动品牌,主要就是针对于为18-28岁年轻喜爱潮流的消费者提供时尚流行的服饰,F

2023年12月22日 11:30

近期文章

本站热文

电脑包尺寸对照表(电脑包要多大)
2024-07-04 21:33:03 浏览:3758
e10000(皖E10000是什么车)
2024-07-02 21:24:52 浏览:3498
ati radeon hd 5650(电脑的显卡是ATI Mobility Radeon HD 5650 (MADION PRO) ( 1 GB ) 这个显卡)
2024-06-26 03:11:22 浏览:3092
华为mate20pro版本区别(mate20pro有必要买ud版吗)
2024-07-02 22:04:37 浏览:2616
ipad买蜂窝版还是wifi版(ipad air 5买蜂窝好不好)
2024-07-03 11:34:55 浏览:2222
vivo y3配置参数(vivoy3参数是什么)
2024-07-02 21:50:09 浏览:2062
标签列表

热门搜索