指针c与指针针之间是不是相通的?

C++中的引用与指针的区别
指向不同类型的指针的区别在于指针类型可以知道编译器解释某个特定地址(指针指向的地址)中的内存内容及大小,而void*指针则只表示一个内存地址,编译器不能通过该指针所指向对象的类型和大小,因此想要通过void*指针操作对象必须进行类型转化。
& &&★ 相同点:
& & 1. 都是地址的概念;
& & & &指针指向一块内存,它的内容是所指内存的地址;
& & & &引用是某块内存的别名。
& & ★ 区别:
& & 1. 指针是一个实体,而引用仅是个别名;
& & 2. 引用使用时无需解引用(*),指针需要解引用;
& & 3. 引用只能在定义时被初始化一次,之后不可变;指针可变;
& & & &引用&从一而终& ^_^
& & 4. 引用没有 const,指针有 const,const 的指针不可变;
& & 5. 引用不能为空,指针可以为空;
& & 6. &sizeof 引用&得到的是所指向的变量(对象)的大小,而&sizeof 指针&得到的是指针本身(所指向的变量或对象的地址)的大小;
& & typeid(T) == typeid(T&) 恒为真,sizeof(T) == sizeof(T&) 恒为真,但是当引用作为类成员名称时,其占用空间与指针相同4个字节(没找到标准的规定)。
& & 7. 指针和引用的自增(++)运算意义不一样;
& & ★ 联系
& &&1. 引用在语言内部用指针实现(如何实现?)。
& & 2. 对一般应用而言,把引用理解为指针,不会犯严重语义错误。引用是操作受限了的指针(仅容许取内容操作)。
& & 引用是C++中的概念,初学者容易把引用和指针混淆一起。一下程序中,n 是m 的一个引用(reference),m 是被引用物(referent)。
& & int m;
& & int &n = m;
& & n 相当于m 的别名(绰号),对n 的任何操作就是对m 的操作。例如有人名叫王小毛,他的绰号是&三毛&。说&三毛&怎么怎么的,其实就是对王小毛说三道四。所以n 既不是m 的拷贝,也不是指向m 的指针,其实n 就是m 它自己。
& & 引用的一些规则如下:
& & (1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。
& & (2)不能有NULL 引用,引用必须与合法的存储单元关联(指针则可以是NULL)。
& & (3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。
& & 以下示例程序中,k 被初始化为i 的引用。语句k = j 并不能将k 修改成为j 的引用,只是把k 的值改变成为6.由于k 是i 的引用,所以i 的值也变成了6.
& & int i = 5;
& & int j = 6;
& & int &k = i;
& & k = j; // k 和i 的值都变成了6;
& & 上面的程序看起来象在玩文字游戏,没有体现出引用的价值。引用的主要功能是传递函数的参数和返回值。C++语言中,函数的参数和返回值的传递方式有三种:值传递、指针传递和引用传递。
& & 1)以下是&值传递&的示例程序。由于Func1 函数体内的x 是外部变量n 的一份拷贝,改变x 的值不会影响n, 所以n 的值仍然是0.
&&void Func1(int x){x = x + 10;}int n = 0;Func1(n);cout && &n = & && n &&// n = 0
& & 2)以下是&指针传递&的示例程序。由于Func2 函数体内的x 是指向外部变量n 的指针,改变该指针的内容将导致n 的值改变,所以n 的值成为10.
void Func2(int *x){(* x) = (* x) + 10;}⋯int n = 0;Func2(&n);cout && &n = & && n && // n = 10
& & 3)以下是&引用传递&的示例程序。由于Func3 函数体内的x 是外部变量n 的引用,x和n 是同一个东西,改变x 等于改变n,所以n 的值成为10.
&&void Func3(int &x){x = x + 10;}⋯int n = 0;Func3(n);cout && &n = & && n && // n = 10
& & &对比上述三个示例程序,会发现&引用传递&的性质象&指针传递&,而书写方式象&值传递&。实际上&引用&可以做的任何事情&指针&也都能够做,为什么还要&引用&这东西?
& & 答案是&用适当的工具做恰如其分的工作&。
& & 指针能够毫无约束地操作内存中的如何东西,尽管指针功能强大,但是非常危险。
& & 就象一把刀,它可以用来砍树、裁纸、修指甲、理发等等,谁敢这样用?
& & 如果的确只需要借用一下某个对象的&别名&,那么就用&引用&,而不要用&指针&,以免发生意外。比如说,某人需要一份证明,本来在文件上盖上公章的印子就行了,如果把取公章的钥匙交给他,那么他就获得了不该有的权利。
& & &&&&&&&&&&
& & 摘自「高质量c++编程」
& & 指针与引用,在More Effective C++ 的条款一有详细讲述,我给你转过来
& & 条款一:指针与引用的区别
& & 指针与引用看上去完全不同(指针用操作符&*&和&-&&,引用使用操作符&。&),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什么时候使用引用呢?
& & 首先,要认识到在任何情况下都不能用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针,因为这样你可以赋空值给该变量。相反,如果变量肯定指向一个对象,例如你的设计不允许变量为空,这时你就可以把变量声明为引用。
& & &但是,请等一下&,你怀疑地问,&这样的代码会产生什么样的后果?&
& & char *pc = 0; &// 设置指针为空值
& & char& rc = *pc;// 让引用指向空值
& & 这是非常有害的,毫无疑问。结果将是不确定的(编译器能产生一些输出,导致任何事情都有可能发生),应该躲开写出这样代码的人除非他们同意改正错误。如果你担心这样的代码会出现在你的软件里,那么你最好完全避免使用引用,要不然就去让更优秀的程序员去做。我们以后将忽略一个引用指向空值的可能性。
& & 因为引用肯定会指向一个对象,在C++里,引用应被初始化。
&&& string& rs; // 错误,引用必须被初始化
&&& string s("xyzzy");
&&& string& rs = s; // 正确,rs指向s
&&& 指针没有这样的限制。
&&& string *ps; // 未初始化的指针
&&& // 合法但危险
& & 不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针的要高。因为在使用引用之前不需要测试它的合法性。
void printDouble(const double& rd){&&&& cout && // 不需要测试rd,它} // 肯定指向一个double值相反,指针则应该总是被测试,防止其为空:void printDouble(const double *pd){&&&& if (pd)
&&&& { // 检查是否为NULL&&&&&&&&&& cout && *&&&& }}
& & 指针与引用的另一个重要的不同是指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变。
&&string s1("Nancy");string s2("Clancy");string& rs = s1; // rs 引用 s1string *ps = &s1; // ps 指向 s1rs = s2; // rs 仍旧引用s1,// 但是 s1的值现在是// "Clancy"ps = &s2; // ps 现在指向 s2;// s1 没有改变
& & 总的来说,在以下情况下你应该使用指针,
& & 一是你考虑到存在不指向任何对象的可能(在这种情况下,你能够设置指针为空),
& & 二是你需要能够在不同的时刻指向不同的对象(在这种情况下,你能改变指针的指向)。如果总是指向一个对象并且一旦指向一个对象后就不会改变指向,那么你应该使用引用。
& &&还有一种情况,就是当你重载某个操作符时,你应该使用引用。
& & 最普通的例子是操作符[].这个操作符典型的用法是返回一个目标对象,其能被赋值。
&&vector&int& v(10); // 建立整形向量(vector),大小为10;// 向量是一个在标准C库中的一个模板(见条款35)v[5] = 10; // 这个被赋值的目标对象就是操作符[]返回的值如果操作符[]返回一个指针,那么后一个语句就得这样写:*v[5] = 10;
& & 但是这样会使得v看上去象是一个向量指针。因此你会选择让操作符返回一个引用。(这有一个有趣的例外,参见条款30)
& & 当你知道你必须指向一个对象并且不想改变其指向时,或者在重载操作符并为防止不必要的语义误解时,你不应该使用指针。而在除此之外的其他情况下,则应使用指针假设你有
&void func(int* p, int&r);int a = 1;int b = 1;func(&a,b);
& &指针本身的值(地址值)是以pass by value进行的,你能改变地址值,但这并不会改变指针所指向的变量的值,
& & p = someotherpointer; //a is still 1
& & 但能用指针来改变指针所指向的变量的值,
& & *p = 123131; // a now is 123131
& & 但引用本身是以pass by reference进行的,改变其值即改变引用所对应的变量的值
& & r = 1231; // b now is 1231
& &&尽可能使用引用,不得已时使用指针。
& &&当你不需要&重新指向&时,引用一般优先于指针被选用。这通常意味着引用用于类的公有接口时更有用。引用出现的典型场合是对象的表面,而指针用于对象内部。
& & 上述的例外情况是函数的参数或返回值需要一个&临界&的引用时。这时通常最好返回/获取一个指针,并使用 NULL 指针来完成这个特殊的使命。(引用应该总是对象的别名,而不是被解除引用的 NULL 指针)。
& & 注意:由于在调用者的代码处,无法提供清晰的的引用语义,所以传统的 C 程序员有时并不喜欢引用。然而,当有了一些 C++ 经验后,你会很快认识到这是信息隐藏的一种形式,它是有益的而不是有害的。就如同,程序员应该针对要解决的问题写代码,而不是机器本身。
阅读(...) 评论()char a[20];
p就是指向指针的指针,保存的是一个指针变量/常量的地址
*p 就是指针 a
**p 就是 a[0]
其他答案(共1个回答)
改变一个变量的值,就得用指针而不能用值传递。还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率。
以上还只是指针的初步应用,随着你在C++学习上的逐步深入,你会发现更多的用途的。
简单地说指针就是指向变量和对象的地址。
指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不能用值传递。还有在很多时候变量,特别是对象的数据...
int *pa=&i;
因为i的类型是int,所以他的地址只占用了4个字节,如果用4个字节存放float会发生数据丢失,int类型的指针必须指向i...
在C语言中%f是浮点变量的指针吗? 如果不是浮点变量指针那是什么呢?
它不是指针,只是以浮点型的格式输出,如果是指针就要加*或-&
为什么在printf函数的实...
this指针是一个隐含于每一个成员函数中的特殊指针。它是一个指向正在被该成员函数操作的对象,也就是要操作该成员函数的对象。
它是一个指针,它绝对不能被当作类的实...
这是一个二维数组,a数组的第i+1行、第j+1列的位置。
答: 老实说这个价格的不用考虑安全问题,网络上可以查询下载的刷票软件有很多,免费操作,无成本。
机器刷票:通过设定好的程序进行刷票,低至0.1元1条。微信投票刷票都说...
答: 资源间的数据交换和授权认证、安全控制都在这一层控制实现
答: 你要卓面连接的软件,在你的电脑系统盘就有了,你打开系统盘设置好就行了,你的系统在C盘的你就打开C盘找出来就行了,下面有图你细心看有助你的,你看图也不理解可以发个...
B.20世纪上半叶,人类经历了两次世界大战,大量的青壮年人口死于战争;而20世纪下半叶,世界基本处于和平发展时期。
“癌症的发病率”我认为这句话指的是:癌症患者占总人数口的比例。
而B选项说是死亡人数多,即总体人数下降了,但“癌症的发病率”是根据总体人总来衡量的,所以B项不能削弱上述论证
目前我们的生活水平必竟非同以往.吃得好休息得好,能量消耗慢,食欲比较旺盛,活动又少,不知不觉脂肪堆积开始胖啦。                                                                                         减肥诀窍:一.注意调整生活习惯,二。科学合理饮食结构,三。坚持不懈适量运动。
   具体说来:不要暴饮暴食。宜细嚼慢咽。忌辛辣油腻,清淡为好。多喝水,多吃脆平果青香焦,芹菜,冬瓜,黄瓜,罗卜,番茄,既助减肥,又益养颜,两全其美!
有减肥史或顽固型症状则需经药物治疗.
如有其他问题,请发电子邮件:jiaoaozihao53@ .或新浪QQ: 1
你用的是工行的卡吗?到工行网站问了一下,下面是它们版主的回答——您好~
1、您可以拨打95588或通过网上银行等渠道查询消费明细。
2、若您的信用卡开通了网上银行。请您按照以下地址进行登录。工行网站地址: 点击“个人网上银行登录”或工行个人网上银行地址: 按照系统提示输入相关信息后即可登录。
“网页错误”请您进行以下操作:
(1)打开IE浏览器,选择“工具”菜单--&“Internet选项”--&“高级”标签--&点击“还原默认设置”,点击“确定”后关闭所有IE浏览器窗口;
(2)打开IE浏览器,选择“工具”菜单--&“Internet选项”--&“常规”标签--&Internet临时文件设置中的“检查所存网页的较新版本”选择“每次访问此页时检查”。并在Internet临时文件设置中点击“删除文件”,在“删除所有脱机内容”前打勾后点击确定关闭对话框,关闭所有IE窗口;
(3)打开IE浏览器,选择“工具”菜单--&“Internet选项”--&“安全”标签,在“请为不同区域的Web内容制定安全设置(z)”窗口内选择“Internet”,然后选择“自定义级别”,将“Activex控件和插件”中“下载已签名的Activex控件”、“运行Activex控件”等设置为“启用”或“提示”,点击确定后,请重新启动电脑;
(4)若您安装了3721上网助手之类的软件,请您将其完全卸载;
(5)请登录工行门户网站 ,点击“个人网上银行登录”下方的“下载”。进入下一个页面后,下载并安装控件程序。
(6)若仍无法正常使用,建议您重新安装IE6.0或以上版本的IE浏览器,并使用WINDOWS系统的UPDATE功能安装补丁。
3、您可以通过网上银行查看对账单进行还款。
4、是可以的。您需要通过网上银行办理跨行转账业务。
如果您想在网上办理跨行汇款,请使用“工行与他行转账汇款”功能,您除了需要申请开通网上银行对外转账功能,还需要您所在地区开通网上跨行汇款功能。若未开通,那么在操作时系统会提示您的(国际卡及香港信用卡无法使用此功能)。
从日起,柜台注册且未申请U盾或口令卡的客户,单笔交易限额、日累计限额以及总支付交易限额均为300元,9月1日前支付额度已经达到300元的客户需到网点申请电子口令卡或U盾(从注册日起计算支付额)。
若目前已达到交易限额但急需支付,建议您可通过下列方法变更交易限额:
1.申请U盾。u盾客户不再受交易限额和支付次数的限制。此外,使用u盾,您可以享受签订理财协议等服务项目,并在您原有使用基础上大大加强了安全性。如需办理U盾,请您本人携带有效身份证件和网上银行注册卡到当地指定网点办理U盾,办理手续及网点信息请您当地95588服务热线联系咨询。
2.申办口令卡。您本人可持有效身份证件、网上银行注册卡到当地指定网点申办口令卡。申办电子口令卡后,个人网上银行单笔交易限额1000元;日累计交易限额5000元,没有总支付额度控制;电子银行口令卡的使用次数为1000次(以客户输入正确的密码字符并通过系统验证为一次),达到使用次数后即不能使用,请及时到我行营业网点办理申领新卡手续。
1、问:房地产开发企业拆迁补偿费是否也随土地价格一起交纳契税(以房易房部分的)?
答:是的,因为取得土地的成交价格包括:地出让金、土地补偿费、安置补助费、地上附着物和青苗补偿费、拆迁补偿费、市政建设配套费等承受者应支付的货币、实物、无形资产及其它经济利益,而契税中未对房地产企业有相关的减免政策
2、问:如果交,是就补给拆迁户交差价部分交税还是就全部回迁房价格交税?在什么环节,时间交纳?
答:所谓使用回迁房作为拆迁补偿的形式,就是开发商以原地或异地的房屋抵顶拆迁补偿费的一种方法,相当于延期或分期支付拆迁补偿款,而契税条例中规定是:“纳税义务发生时间在纳税人签订土地、房屋权属移交合同的当天,或者纳税人取得其他具有土地、房屋权属转移合同性质凭证的当天。纳税人应在自纳税义务起10日内,向土地、房屋所在地的税收征收机关办理纳税申报,并在税务征收机关核定的期限内缴纳税款。 ”所以需要在取得土地的时候就要缴纳契税,需要全额计税,不能以补偿款计税。
3、问:土地使用税在什么环节交?如何交?税法说确有困难的可以减或缓,各地有具体政策吗?
答:如果原土地属于耕地的,自取得土地后满一年开始征收,如果属于非耕地的,自取得土地之下月征收。
以前的土地使用税一般都予以减免,特殊情况例外,虽然国家税务总局《关于土地使用税若干具体问题的补充规定》,对于基建项目在建期间使用的土地可以免税,但很多地方的税务机关都认为这不适用房地产企业,因为现在国家是控制房地产过热,不属于鼓励范围。
4、问:回迁部分房屋的营业税在什么环节交?
答:在交付回迁房屋或被拆迁户全部支付差价的时候缴纳,如果不需要支付差价的,以成本价格作为计税依据,如果有差价的,不需要支付部分按成本价格计税,差价部分按实际计税。
酒精中毒。如果一次大剂量的摄入酒精或是酒中的乙醇不达标,可以引发急性酒精中毒,也可以因为长时间,无节制饮酒形成慢性中毒。中毒后的患者几乎没有控制力,话变多,情绪比较激动,易怒,容易发生冲动。情况严重的,会出现呼吸,心跳困难,甚至失去生命。意识障碍。部分患者饮酒后,会出现意识障碍,对外界环境产生恐惧感。极度紧张后会出现暴力行为。酒精代谢完后,患者对前面情况无印象。精神障碍。如果酗酒成性的患者,突然停止饮酒,会出现各种幻觉。身体因为突然较少刺激而发热,出汗,心跳加速,血压升高等。如果家中有爱饮酒的人,家人一定要定期带患者去医院做全面体检,及早预防发生酒精肝或酒精中毒心脑病,胃溃疡,胃癌等。
首先建议大家多喝温水。在空调房里,不但容易长痘痘,还让皮肤肤质变得油腻,多喝温水,不仅能增加维生素的摄入,还可以保证身体的免疫力,所以建议大家多喝温水。其次建议大家要注意衣服的增减。毕竟在夏日炎炎的天气,谁都想脱光最好,但是这样对身体也很不好,夏天的胃酸减少,所以防菌的功能也减弱了,如果在空调房里常受冷的话,会导致致病菌的入侵哦,所以建议大家时刻注意自己的衣服。最后建议大家多清洗空调的过滤网。因为打空调是全封闭的,空气不流通,有些细菌就会残留在空调的过滤网上,然后在吹在我们的身上,然后我们就会中感冒病毒哦,所以建议勤洗过滤网。要每天都注意脸部的清洁和保湿,同时辅助一些乳液或者是面霜哦。
喝鸡汤。喝鸡汤可以控制咽喉部及呼吸道炎症的发展,而且鸡汤中富含多种氨基酸,可以提高人体免疫力,这样可以缓解感冒的症状,并还能避免一些呼吸道炎症发生。用萝卜煮水喝。用萝卜煮的水中含有大量的胡萝卜素,这种营养物质可以起到预防和治疗感冒的作用,如果患了感冒,不妨喝一些用萝卜煮的水,这样可以使感冒尽快治好。吃一些作料。大家都知道,作料的主要成分是辣椒、花椒、生姜、大茴香、胡椒等。这些东西吃了可以让人发热,将身体里的寒气排泄出去,另外还能起到刺激气管与咽喉部表皮粘膜的血管的作用,这样可以使感冒以及感冒引起的炎症尽快痊愈。感冒其实是可以预防的,只要大家在平时注意饮食,注意防寒保暖,就可以避免感冒。
方法一,可以选择激光治疗法。因为激光治疗的时候温度特别的高就可以帮助我们破环掉毛细血管瘤里面的有害物质,防止我们去除毛细血管瘤,而且这样的方法成功率很高,副作用也很小。方法二,可以选择手术治疗毛细血管瘤,这样的方法是最彻底的,也是最有效的,因为手术过程中可以明确的了解到血管瘤的实际情况,及时的做出处理和治疗。方法三,可以选择液氮冷冻的方法治疗毛细血管瘤。因为液氮的温度特别的低,治疗的时候能够将血管瘤冷冻杀死,破坏掉里面的组织,能够直接把坏掉的皮肤破坏导致脱落下来。每一种治疗都一定要去医院检查好自己的实际情况在进行选择,还要做好充足的治疗后护理工作,避免发生感染发炎的情况,造成二次伤害。
有啊,变压器视频监控系统如下图:“变压器视频监控系统”主机加装在被监控电力线的电杆上或变压器旁,变压器一旦有人附近,红外探测器立即观测并启动图像系统同步摄制照片并立即上载至监控中心,监控中心值班人员接到报警信息和图像后立即通报涉及领导及确保人员,并派警力到现场按规定情况,处置有关被盗问题。
看你的现场情况了,如果你的点位较多,而且现场环境比较多阻碍的话,自由选择5.8G的无线网桥比较好,一般来说5.8G的无线网桥能带比较多的点,而且传输比特率高,抗干扰能力也强。如果就是几个非常简单的点对点传输的监控的话,那就用2.4G的就行了。腾远智拓的无线网桥就是用来做无线监控的,明确中用哪款网桥,你可以去腾远智拓的官网问一下。
视频监控中心管理制度
一、视频监控中心值班人员必须强化安全观念,维持高度警觉及高度责任心,密切注意各部位情况,擅于找到问题,严肃作好当值记录。
二、视频监控中心值班人员负责管理24小时监控闭路电视和防盗报警信号,找到问题及时向有关领导或部门报告。
三、视频监控中心值班人员要严格执行交接班制度。交接班时应将机器设备的用于情况,若无怀疑情况过渡记录确切。
四、视频监控中心值班人员在当值时对所仔细观察到的非正常情况,可疑人物,应展开详尽记录,并视情况向有关领导或部门报告,采行必要的措施。
五、视频监控中心值班人员要对视频监控图像内所再次发生的事故及其它紧急情况展开记录。
六、非监控室人员不许转入,任何人不许在监控中心会客聊天。监控中心的值班人员不许离开了监控室。
七、未经校长室许可,任何人不得查核、拷贝、用于视频监控图像。对图像信息的调取人员、调取时间、调取用途等事项需展开注册。
八、视频监控中心的视频监控图像不得擅自删减,不得藏匿、不存存留期限内视频监控图像信息的原始记录;不得非法用于视频图像信息资料。
可以去理解一下深圳宏电的无线车载视频监控,在业界很出名
有几千上万不等,主要是看你学习什么课程吧
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区对于类型相同的两个指针变量之间不能进行运算的是_百度知道
对于类型相同的两个指针变量之间不能进行运算的是
A &B =C +D -求各项解释
我有更好的答案
应该选择C。A选项两个同类型的指针间可以比较大小,比较原则应该是按照实际内存的高低位比较的。B选项赋值,这个当然是可以的了。D选项两个相同指针变量相减可以获得在之间相隔的同类型元素个数。
采纳率:85%
应该选择C。A选项两个同类型的指针间可以比较大小,比较原则应该是按照实际内存的高低位比较的。B选项赋值,这个当然是可以的了。D选项两个相同指针变量相减可以获得在之间相隔的同类型元素个数(在某个类型的数组中的应用)。C选项是不可以的,因为两个指针相加什么都得不到,所以规定不允许相加。
本回答被提问者采纳
答案选C, 因为指针相加没有任何意义.解释:
指针存的是内存的地址值, 假如两个指针, 一个指向0x, 一个指向0x;A: 可以判断这两个指针哪个指向后面, 哪个指向前面.B: 判断两个指针是否指向同一块内存地址C: 指向相加, 那么大个数代表什么? 可能都越界了内存区域. D: 相减得到两个指针的差值. 即他们之间相差多少.
两个指针不能相加,选C。两个指针变量的类型相同所以可以相互赋值,对于A、D。当两个指针指向同一个连续的存储空间时比较才会有意义,一般是指向数组或者动态分配的存储空间。#include&stdio.h&main(void){ int arr[5], *p, *q; p = q = &arr[4]; printf(&p & q: %d\n&, p & q); printf(&p - q: %d\n&, p - q);}输出结果:p & q: 1p - q: -4
1条折叠回答
其他2条回答
为您推荐:
其他类似问题
指针变量的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。到底什么是指针,指针的本质是什么?_百度知道
到底什么是指针,指针的本质是什么?
# include &stdio.h&
= %4d\n &,b);
// int 变量b的值
printf(&sizof(b)
= %4d\n &,sizeof(b)); // int 变量b的值占用内存空间,单位字节
printf(&&b
= %4d\n &,&b);
我有更好的答案
&a的值跟a的值不同,表明&a指向的变量*a有实际存在的值,但*a的值又是b的值。如果*a在内存里存储的是a,也就是4044,指针的定义里说指针变量存储的是一个地址,为什么sizeof(*a)=2B,而sizeof(a)=4B,2B的空间能放下4B的数据吗?回答:a是指针,只是一个指示而已,并不是说他的长度是4;*a 是 a指示到的那个位置里放的值。。 一般指示首地址,,后面连续几个空间都可以放数据。。地址4044里的数据是1,那么地址4046里的数据是什么?4046 里面开始放的是
a的大小也就是 4046(&a)——〉4044(a)—〉*a这个是他们的关系
a是指针,只是一个指示而已,并不是说他的长度是4;请问sizeof(a) = 4,是什么意思?*a 是 a指示到的那个位置里放的值。*a不是一个指针变量么?
指针的长度就是4.。指针好比房间号110,,*a 好比 房间110开始的值。 有时数据不只是放在一个房间,因为数据太大,比如 char *s=&fjwioejfwoieurwrew&;所以会在接着的几个房间里都放数据。。但是我们会指示首地址来开始获取值。比如 printf(&%s&,s);//这里的s就是首地址地址的长度都为4也就是 sizeof(s) 就是等于4 ;
大哥,我要的并不是如何去理解这些符号,抽象化的东西都不具有确定性。我要的是确定的、本质的原本的数据。就如我所说的,*a是一个整形指针变量,我问的不是*a代表什么意思,而是*a既然是一个变量,那么*a里面装的是什么数据?我要的不是结果,而是过程,我想要知道的不是*a最后指向了b。既然你承认了指针a的长度为4,4046 里面开始放的是
a的大小,那么,4046里放的数据占多大内存?
4046(&a)——〉4044(a)=&b—〉*a=b
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 指针内存数据之间拷贝 的文章

 

随机推荐