问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

int *a=b与int*a=&b有什么不同

发布网友 发布时间:2022-04-26 07:08

我来回答

5个回答

热心网友 时间:2022-06-25 02:18

*a=b表示a指针所指向的数据,等于b。*a=&b表示a指针所指向的数据,等于b的地址。

1、int *a=b是说把b的值赋值给指针a(*a), int*a=&b是说让指针a(*a)指向b的地址。 举个例子说: int b=5,c=9。

2、int *a1=b;----------------------1。

3、int *a2=&b;_____________________2。

4、b=c;-------------------------3 这个时候*a1=5,*a2=9 。因为在说第一步时已经把b的值,也就是5传给*a1,所以*a1=5 。在第二步时,把b的地址,也即是&b传给了*a2,这个时候*a2=5。

5、但是在第三步时,b的值变成了c的值,也就是9,我们知道这个时候 b的地址早就传给*a2了,所以,*a2和这个时候的b的值是一样的, 即*a2=9。

扩展资料:

(*p)操作是这样一种运算,返回p 的值作为地址的那个空间的取值。(&p)则是这样一种运算,返回当时声明p 时开辟的地址。显然可以用赋值语句对内存地址赋值。

假设有这么一段代码:(假设开辟空间时p 被分配给了3001H、3002H 两个位置)

int *p;p=2003H;*p=3000H,**p的值为多少?

**p=*(*(p))=*(*(2003H))=*(3000H)=3000H。

那么&&p、*(&p)和&(*p)又等于多少?

&&p=&(&(p))=&(3001H),此时出错了,3001H 是个常数怎么可能有地址呢?

*&p=*(&(p))=*(3001H)=2003H,也就是*&p=p。

&*p=&(*p)=&(3000H)=2003H,之前有人认为这个是不成立的,实际上&(3000H)是求存储3000H这个变量所在的内存地址,仍然是p的值。下面的代码是个很简单的例子:

#include<iostream>

using namespace std;//环境vc6.0int main()

{int *a;a=(int*)5;cout<<(unsigned int)&*a<<endl;}

输出的结果为5。

热心网友 时间:2022-06-25 02:19

int *a=b是说把b的值赋值给指针a(*a), int*a=&b是说让指针a(*a)指向b的地址。
举个例子说: 
int b=5,c=9 

int *a1=b;----------------------1 

int *a2=&b;_____________________2 

b=c;-------------------------3
这个时候*a1=5,*a2=9 。因为在说第一步时已经把b的值,也就是5传给*a1,所以*a1=5 。在第二步时,把b的地址,也即是&b传给了*a2,这个时候*a2=5 。

但是在第三步时,b的值变成了c的值,也就是9,我们知道这个时候 b的地址早就传给*a2了,所以,*a2和这个时候的b的值是一样的, 即*a2=9。

扩展资料:

(*p)操作是这样一种运算,返回p 的值作为地址的那个空间的取值。(&p)则是这样一种运算,返回当时声明p 时开辟的地址。显然可以用赋值语句对内存地址赋值。

假设有这么一段代码:(假设开辟空间时p 被分配给了3001H、3002H 两个位置)

int *p;p=2003H;*p=3000H,**p的值为多少?

**p=*(*(p))=*(*(2003H))=*(3000H)=3000H。

那么&&p、*(&p)和&(*p)又等于多少?

&&p=&(&(p))=&(3001H),此时出错了,3001H 是个常数怎么可能有地址呢?

*&p=*(&(p))=*(3001H)=2003H,也就是*&p=p。

&*p=&(*p)=&(3000H)=2003H,之前有人认为这个是不成立的,实际上&(3000H)是求存储3000H这个变量所在的内存地址,仍然是p的值。下面的代码是个很简单的例子:

#include<iostream>

using namespace std;//环境vc6.0int main()

{int *a;a=(int*)5;cout<<(unsigned int)&*a<<endl;}

输出的结果为5

参考资料:指针_百度百科

热心网友 时间:2022-06-25 02:19

这是典型的c语言指针题

int *a表示定义了一个int型的指针

*a=b表示指针a指向b,即把b赋值给*a;

&是取地址符,&b代表b在内存中的地址,*a=&b表示把b的地址赋值给*a。

利用编译器编译该代码:

结果为:

拓展资料

*和&运算

(*p)操作是这样一种运算,返回p 的值作为地址的那个空间的取值。(&p)则是这样一种运算,返回当时声明p 时开辟的地址。显然可以用赋值语句对内存地址赋值。我们假设有这么两段内存地址空间,他们取值如下:(单位:H,16 进制)

假设有这么一段代码:(假设开辟空间时p 被分配给了3001H、3002H 两个位置)

int *p;

p=2003H;

*p=3000H

**p的值为多少?

**p=*(*(p))=*(*(2003H))=*(3000H)=3000H。

那么&&p、*(&p)和&(*p)又等于多少?

&&p=&(&(p))=&(3001H),此时出错了,3001H 是个常数怎么可能有地址呢?

*&p=*(&(p))=*(3001H)=2003H,也就是*&p=p。

资料来自于:百度百科:指针



热心网友 时间:2022-06-25 02:20

1 答案

    不同点在于a的值不一样

2 关于指针

    在32位机器里,指针类型为4个字节,一般用16进制的形式来表示

3 分析

    int*a;表示a被声明为int型指针类型

    (1)在int *a=b;里

    若b是整数12,则 a的值为 0x0000000c

    在C语言中 int*a=b;是报错的,需要强制转换才行 int*a=(int*)b

    (2)在int *a=&b;里

    表示把b的地址赋给a,加入b的地址是 0xff00ff00

    则a的值也为0xff00ff00

    当然,在每次程序运行时,b被分配的地址是随机的,所以不一定是0xff00ff00

4 用一个小示例验证

#include<stdio.h>

int main(){
    int b = 12;
    int *a1 = (int*)b;
    int *a2 = &b;
    printf("a1=0x%08x\na2=0x%08x\n", a1, a2);

    getchar();
    return 0;
}

5 运行结果

    

    

    

热心网友 时间:2022-06-25 02:20

我是学习计算机的,我来说吧
int *a=b是说把b的值赋值给指针a(*a),
int*a=&b是说让指针a(*a)指向b的地址。
举个例子说,
int b=5,c=9
int *a1=b;----------------------1
int *a2=&b;_____________________2
b=c;-------------------------3
这个时候*a1=5,*a2=9
因为在说第一步时已经把b的值,也就是5传给*a1,所以*a1=5

在第二步时,把b的地址,也即是&b传给了*a2,这个时候*a2=5
但是在第三步时,b的值变成了c的值,也就是9,我们知道这个时候
b的地址早就传给*a2了,所以,*a2和这个时候的b的值是一样的,
即*a2=9。
谢谢把分给我。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 非正常事件集网恋是哪一集 考中级会计师的证书要英语? 房子遗产如何分配份额 上海哪家一汽-大众4S店资源比较多?服务比较好?收费比较合理? C语言中0XFF00转十进制是多少 类似非正常事件集的电视剧求推荐!!! 房产的遗产分割应该怎么分? 羊年来临,请告诉我有关羊的别称。 手串佛珠后面结尾处可以放一些其装饰吗 请问河北省中级会计师需要考职称英语和职称计算机吗? 七月甘九的甘字是什么意思 电脑经常蓝屏  急0x00000050(0xff00ffff,0x00000000,0x00000000... 谁有非正常事件第5-10集百度云资源。 吉安市计划生育网上办事大厅 关于“羊”的名人名言有哪些? 手串首尾呼应 (长沙的)中级会计师证需要报考职称英语吗? 农历九月甘九是什么意思 为什么预先切断迷走神经,再刺激其外周短 房产遗产怎么分割 中级会计师要加试英语吗 烂土豆能吃吗怎么吃 非正常事件集百度云网址 j&=0xff00表示什么意思 没信誉 上海嘉安一汽大众4s店 烂土豆削了烂的能吃吗 非正常事件集里面钟坤姑姑是谁扮演的 廿九是什么意思 华为运动蓝牙耳机可以用在荣耀8青春版么 和烂成水的土豆在一起的好土豆还能吃么 十六位的0xff00转换为八位是多少 非正常事件集什么时候上映播出 甘九是几岁? 我的vivo为什么搜不到华为运动蓝牙耳机的连接型号呢? 0x00ff00是什么 非正常事件集11集中小海的扮演者是叫什么 廿九是初几? 请问关于羊的名词都有哪些? 请问C语言中 ((1 &lt;&lt; 8) & 0xFF00) 什么意思 非正常事件集馨月饰演者是不是刘芊含