0
点赞
收藏
分享

微信扫一扫

C语言之整形与变量地址

gy2006_sw 2022-01-31 阅读 95

除了我们的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
举报

相关推荐

0 条评论