C语言之整形与变量地址

除了我们的int unsigned int我们还有其他的整形:short短整形,long int长整形,longlong int(vc6++不支持)

short: 有符号的大小为-32768~32767,无符号的大小为0~‭65535。他的输出格式符为"%hd"

short a = 1;//定义一个短整形的变量a

sizeof(a);//sizeof取变量的大小

我们通过此判断短整型short大小为2字节。

long int:无符号的大小为0~‭4294967295‬,有符号的大小为-2147483648~2147483647.他的标准是输出格式为%ld

虽然他叫长整形,但是他的内存规定是不低于4字节就行(应编译器而异)

long int a = 12;
siezof(a);

longlong int :无符号的大小为0~2^64-1,有符号的大小为-2^63~2^63-1。 但是很可惜,"VC++6.0"不支持。他的输出格式为%lld

longlong int a = 12;
printf("%lld",sizeof(a));

用哪个取决于你数据的大小。

变量的地址:

计算机的每一块空间都有一个唯一的标志代表,本质就是一个数,从0开始,到一个很大的数,32位程序是2^32-1, 64位程序是2^64-1。这个数也叫地址,就像我们的家的地址一样。

怎么取变量的地址呢? 使用符号"&",SHIFT+上面的数字7.

怎么取变量的地址呢?

int a = 12;
&a//使用取地址符号(表达式没有分号,语句有分号,表达式都有一个结果)

直接使用“&”符号对变量取地址。每个变量都有自己唯一的地址,只要他没死,别人就永远占不了。

输出地址

预备知识:输出地址的输出格式为%p或者%#p。%p为16进制输出,%#p也是16进制输出,但是%#p是会以地址形式输出的。你不要思维定势了,总觉得地址只能用16进制的形式输出。他可以以10进制,2进制,8进制输出都可以。我们一般使用16进制输出。

int a = 12;
printf("%p",&a);//0014ff20
printf("%#p",&a);//0x0014ff20

 

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人才程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值