c语言中(int)什么意思

 我来答
秦秀芳管汝
2020-01-13 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:28%
帮助的人:960万
展开全部
看了你的追问这么多我知道他们回答的不是楼主想要的。

先引来这段代码:

char*
//这是字符指针类型(所谓类型也就是附加char的一种),只有在定义时才这样写,就像你写int
一样。

问题:什么是指针?有何作用?在c语言在存的价值及意义是什么?

答:指针在计算机硬件中是不存在这个名字,而在计算机中只有地址。还是很混,为什么要区分开地址和指针搞的人不明白呢?因为计算机处理数据时候他都是按地址找到相应位置来处理的,就像你想去北京旅游你肯定想要找到地址才能去。比如你定义一个变量int
a=99;
编译器会知道是int型,分配2个字节大小来存储,在内存在的编号如是2000;
当你用printf("%d",a);
这时计算机的内存寄存器通过寻址找到2000这个地址,然后读取该地址上保存的数据99。所以在内存在内存中每个数据不是乱放起的而是通过编号统一管理的。

那指针呢,他与地址有何区别?我们所说的指针是针对程序中才能说这一词。为什呢?因为指针是专用来保存地址的变量即指针变量(在c语言中所有的数据内存地址数都是2个字节大小,一信可用sizeof()测一下,如sizeof(可写任何指针变量)
都是2)
。用指针变量访问一个数据就需要间接访问,而变量则可直接仿问。注意:什么是指针,什么是指针变量?指针即地址(程序中可这样说),因为上面所说了访问一个变量就是先找到该变量的地址。而指针是用来专用保存地址的,如:int
a=99;
int
*p=&a;
所以你访问*p的值也就是访问a的地址或是通过p保存的址值即a的地址来访问。
注意:在定义之后的*p,p是有区别的。输出p即输出p的地址,输出*p即输出该地址中的内容即值.
指针变量就是专用存放地址的变量叫指针变量。因为计算机内存处理数据最终是物理电路是操作的,所以终归转化为地址,因为每条内存都有相应的编号,.这符合人们的思想.用指针地址处理运行程序速度快、使用灵活。

char*
//定义所有数据类型只要是指针类型都是2个字节,那么前面的char,int那些关键字有何用呢?因为类型匹配,每个数据占用的内存空间大小不一的。

*a
//*a
表示读取该a的地址的值是多少

char*p

*p=&c分别都是什么意思
//
你这段代码是错的。*p是表示读取值,而p是表示读取地址,要区分明白。&c以"&"开头的表示该变量的地址,&c表示c的地址。你将一个地址赋给一个*p即用来存值的变量显然不符合。

所以应该是

*p=c;
//值与值赋
在初始定义时可写成
char
*p=4;
//这也值与值的赋

p=&c;
//地址与地址型赋
在初始定义时可写成
char
*p=&c;
//这也行。

若还不明白本人劝你没必要追究到底,等你学到后面会越学越明白的,计算机原理,编译原理等等。

还有问题请回复^
_
^
诸葛恕褚女
2020-01-11 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:25%
帮助的人:958万
展开全部
(int)后面一般要接一个东西,(int)就是把后面的这个东西转换成int类型的变量
比如(int)3.14把3.14转换成int,结果为3
比如(int)'c'把字符转换成int,结果为99
比如(int)狗
把狗转换成int,结果为未知
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
函美媛戈钗
2020-01-16 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:33%
帮助的人:918万
展开全部
强制类型转换
比如
#include
"stdio.h"
int
main()
{
float
a=1.2;
int
b=(int)a;
//把float类型的变量a的值强制转换成int类型后的值赋给b,所以b的值就是1
printf("b=%d,a=%f\n",b,a);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一变班爱麻啊堡0J
高粉答主

2020-01-13 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5734万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式