前言
在百度百科上看到实现 itoa 函数的源代码,里面有一行代码引起了我的兴趣:
1unsigned unum;
通常,我们定义无符号的一个变量,一般采用如下方式:
1unsigned char variable;
2unsigned short variable;
3unsigned int variable;
那么省略 unsigned 后面的数据类型关键字,直接使用 unsigned 定义变量,这个变量会是什么类型的呢?我查了一下,unsigned若省略后一个关键字,大多数编译器都会认为是unsigned int,是不是这样呢,我们可以写个简单的代码验证一下。
测试
我测试的gcc编译器版本为 7.5.0 :
测试代码如下:
1int main(void)
2{
3 unsigned val = 0;
4 printf("unsigned int: %d byten", sizeof(unsigned int));
5 printf("unsigned: %d byten", sizeof(val));
6 return 0;
7}
输出:
1unsigned int: 4 byte
2unsigned: 4 byte
可以看到,在我使用的这个版本的 gcc 编译器下测试,unsigned 后面省略数据类型关键字定义出来的变量,其占用的字节长度与 unsigned int 类型定义的变量占用的字节长度相同,所以在我这个版本的gcc编译器下,unsigned 后省略一个关键字,会认为是unsigned int 类型。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
gcc编译器
+关注
关注
0文章
78浏览量
3378
发布评论请先 登录
相关推荐
变量的声明和定义有什么区别和联系
变量的声明和定义是编程中的两个重要概念,它们在语法和语义上有一些区别和联系。在本文中,我将详细介绍变量的声明和定义之间的区别和联系。 首先,让我们从
这句定义变量的意思是什么?
unsigned char xdata UART_BASE[256] _at_ 0xF400;unsigned char xdata UART1_BASE[256] _at_ 0xF500;unsigned char xdata
发表于 01-16 17:22
定义变量的位置
。void delay(unsigned int i);//函数声名***it LE = P1^0;//定义输出使能控制脚在P1.0上char DelayCNT;//定义变量 //此表
发表于 03-11 17:04
xdata定义的变量同直接定义的变量同名???
在51单片机中。如下定义:unsigned char xdata num;unsigned char num;这样定义会不会有问题???在模块中用的时候是用哪个
发表于 05-12 14:50
ARM定义特殊寄存器(*(volatile unsigned long *))的理解
*) 0xE0028000))为例:作为一个宏定义语句,define是定义一个变量或常量的伪指令。首先( volatile unsigned long * )的意思是将后面的那个地址
发表于 11-16 20:44
请问430变量定义volatile是什么意思?
430中为什么有些变量定义是这样写的: volatile unsigned int i;这volatile是什么意思,这样定义有什么作用?
发表于 03-29 02:58
Python私有变量的定义方法
学过编程语言的人员,都知道私有变量在编程中必不可少,与Java和C语言用private关键字定义私有变量不同,Python是在变量前面加上双横杠(例如:__test)来标识,Pytho
发表于 02-13 16:49
•1663次阅读
单片机C语言中变量的定义方法解析
#pragma rambank0 ;即以关键词#pragma开始,rambank0指明资料区块为第0块。
unsigned char m_acc; ;定义一个无符号字符型变量m_acc
发表于 09-29 16:26
•9366次阅读
C51 单片机的 C 语言中的变量定义与硬件之间的关系
名 [= &所指向的变量名]指针变量的赋值:(不用 *)指针变量变量名 = 所指向的变量名修饰符修饰符释义unsigned无符号au
发表于 11-23 16:51
•3次下载
oracle sql 定义变量并赋值
在Oracle SQL中,变量是用来存储数据值的标识符。通过定义和使用变量,我们可以在SQL语句中使用它们来存储和处理数据,从而实现更灵活和动态的查询和操作。 在Oracle SQL中,定义
西门子博途:如何定义PLC变量
在 TIA Portal 中,可以在程序段中创建用户程序时直接创建变量。 以下步骤介绍了如何定义 PLC 变量以及将插入的 LAD 指令与 PLC
发表于 12-29 18:10
•2179次阅读
评论