您的当前位置:首页>全部百科>百科问答详情
注:文章内容来源于网络,真实性有待确认,请自行甄别。

C/C中的指针问题:inti;int*pa=&i;问题1:书上说

发表于:2024-10-24 00:00:00浏览:15次 分类: 电脑/网络-程序设计-C/C++
问题描述:问题1:书上说这样给指针赋值必须保证i的值也是整数,为什么?表示一个单元的地址的指针必须是整数我能理解,但它所指向的地址的内容i为什么也必须是整数,不能是Float等等数据类型呢? 问题2:&和*一个是取变量i的地址,一个是取指针pa的内容,是一对相反的操作,为什么它们还能够相互赋值?我总觉得应该这样写:int *p=i或者int p=&i,为什么不对呢?
int i; int *pa=&i; 因为i的类型是int,所以他的地址只占用了4个字节,如果用4个字节存放float会发生数据丢失,int类型的指针必须指向int类型的变量,指针记录的是变量在内存中的开始地址,比如i的地址是0x0001,那用*pa定位变量i的时候只会从0x0001开始取4个字节,如果存放的是float,也会发生数据丢失。 还是C的概念模糊 指针的意思就是变量在内存中存放的地址,变量只是一个别名,只有存放的数据才有意义,&i找到的是变量存放的地址,而不是包含的数据。 int *p=i 错在给指针赋值必须是地址,i只是一个变量,用&取出来的才是地址 int p=&i 错在指针的定义,语法规定的指针必须加*号,没有*号的p只是一个变量,而&是不能给变量赋值的

猜你喜欢

如何制作软件我想知道如何使用C++编写软件(具有可视化界面的软件
我想知道如何使用C++编写(具有可视化界面的软件)呢? 希望各位说的详细点,写谢了!
发表于:2024-10-24 00:00:00 浏览:38 分类: 电脑/网络-程序设计-C/C++
C++基础题若intx=2,y=3;,则x&y的结果是:
若int x=2,y=3;,则x&y的结果是:
发表于:2024-10-24 00:00:00 浏览:37 分类: 电脑/网络-程序设计-C/C++
C++把大写改成小写用哪个函数?
++把大写改成小写用哪个函数?
发表于:2024-10-24 00:00:00 浏览:33 分类: 电脑/网络-程序设计-C/C++
哪里能下载中文版的《TheC++ProgrammingLangu?
哪里能下载中文版的《TheC++ProgrammingLangu?
发表于:2024-10-24 00:00:00 浏览:31 分类: 电脑/网络-程序设计-C/C++
哪个源码编辑器最好用?
哪个源码编辑器最好用?
发表于:2024-10-24 00:00:00 浏览:29 分类: 电脑/网络-程序设计-C/C++
C语言中整型可输出以0开头吗?要用C语言编一程序,输出以零开头的
要用编一程序,输出以零开头的一个多位整数,请问能以整型(或长整型)定义这个变量吗?谢谢!
发表于:2024-10-24 00:00:00 浏览:28 分类: 电脑/网络-程序设计-C/C++
C语言能人请进用C语言写一个程序,要求输入N个整数,按从小到大的
用写一个程序,要求输入N个整数,按从小到大的顺序输出,就说说思路。如果N=4,写个具体的程序。
发表于:2024-10-24 00:00:00 浏览:27 分类: 电脑/网络-程序设计-C/C++
用循环找出长度为20的数组中的最大值
用循环找出长度为20的数组中的最大值
发表于:2024-10-24 00:00:00 浏览:23 分类: 电脑/网络-程序设计-C/C++
求助指针变量怎么输出指针变量(存放变量地址的变量是指针变量,用来
怎么输出指针变量(存放变量地址的变量是指针变量,用来指向另一个变量。为了表示指针变量和他所指向的变量之间的关系,在中用“*”符号表示“指向”,。。。) *p怎么输出p
发表于:2024-10-24 00:00:00 浏览:23 分类: 电脑/网络-程序设计-C/C++
用哪个C/C++编译器能够绘出图形啊?(如圆,椭圆,抛物线等)代
写好了,用TC2.0,TC++3.0,win-tc等都编译不出来,用网上给的代码也弄不出来,那个Dev C++不大会用,VC不知道能不能画图。怎么办?郁闷了,到底是出了什么问题了?连个图形都绘不了,分明是在打击我学习的热情啊。
发表于:2024-10-24 00:00:00 浏览:20 分类: 电脑/网络-程序设计-C/C++