C语言中的关键字sizeof是什么作用的?

作者&投稿:甘映 (若有异议请与网页底部的电邮联系)
计算机C语言中的关键字:sizeof是什么意思?~

返回一个数据所需要的内存字节数。

sizeof是C语言的关键字不并不是函数,这个很容易被忽略
sizeof(a)表示a在内存中所占的字节数

1.用来计算数据类型(包括自定义类型)所占内存空间的字节数
如 sizeof(int)等于4 即是说int型变量占用4个字节的内存
sizeof(int*)等于4 因为这是求int型指针,指针变量存储的内容是地址,在32位机上所有类型的地址均长32位,即4字节,所以sizeof(任意类型指针)都为4
2.用来计算数组长度
如有 int a[20];那么sizeof(a)就等于其长度20

计算字节大小的,比如如果char 是1个字节 sizeof(char) == 1;

该函数是某类型的变量所占字节数。上楼例子有问题,应该是在TC环境下是sizeof(char)=1,sizeof(int)=2;而在VC下sizeof(char)=2,sizeof(int)=4。

是一个运算符,能计算出某种类型或者某个变量所占的字节数


汇编语言中 si*2 具体指什么意思?
1、shl si,1 这个si乘2后的si是指:这个无符号数数组在内存中所占的字节数(程序默认每个数组元素是一个字,即两个字节),加上数组首地址DI,正好指向这个数组的最后一个元素。2、test si,1 此时的si存放的是数组长度,这个长度是指数组元素个数,而非指数组在内存中所占的字节数。但因为每个...

汇编语言中,为什么SI和DI不能同时使用
其实你可以想一下,这两个寄存器的意思,SI源变址寄存器,DI目地变址寄存器,既然是变址寄存器,那么他们肯定是在某个地址的基础上进行偏移变化,由此我们就得出了需要基址寄存器。你要是把这两个寄存器同时使用,那你地址变化的基址都没有,你该怎么变化呢?你在谁的基础上变化(也就是地址偏移)?对...

汇编语言 SI=3405H,CL=02H SAR BYTE PTR[SI] ,CL
如果没有具体的上下文,这里的3405h就可认为任意取的一个地址值;byte ptr [si]意味着si指向的一个字节,说白了也就是位于地址3405h的字节;综合来讲,sar byte ptr [si], cl 把位于3405h的字节算术右移2位。看不明白的话,只能说明你还没掌握寻址方式的表示。

汇编语言 mov ax,word ptr [ si ] [ di ] 这条语句为什么有错误_百度...
si、bx均可作为源数据的偏移与ds段地址配合使用;di、bx均可作为目的数据的偏移与es段地址配合使用 即si指向源,di指向目的,si、di不能出现的一个偏移地址中 !!!

汇编语言
MOV AL [SI]是把SI指向的内容送到AL,而不是SI里面的内容;MOV AL SI则是把SI里的内容送至AL;同样MOV [DI] AL是把AL内容送到DI指向的地址;总之有括号的就是指该寄存器指向的内存,而不是他本身

汇编语言语言里寄存器表示中的"[ ]""( )"是什么含义?有什么区别?_百度...
"[ ]""一般是偏移地址,,里面可以是寄存器也可以是数值,比如mov ax,[1],其中1是偏移地址,段地址一般默认在ds中,表示将段地址为ds,偏移地址为1的那个内存单元的内容送到ax寄存器中,大小当然为一个字节 "( )"一般表示一个寄存器或一个内存单元的内容,比如(ax)表示ax寄存器中的内容,(al...

学语言能做什么事
很多啊,你学的哪国语言就可以去哪国深造啊。而且国内的外国游客逐渐增多,交流起来很方便。而且如果是精通,就可以做翻译。

求汇编语言的一个问题
已知(DS)=1234H,(SI)=124H,(12464H)=30ABH,(12484H)=464H LEA SI,[SI];执行后SI为0124H MOV AX,[SI];SI所指的物理地址为DS*16+SI=12340+0124=12464,执行后AX=30ABH MOV WORD PTR [SI+22H],1200H;执行后12486H为00H,12487H为12H LDS SI,[SI+20H];执行后SI为0464H,DS为...

汇编中DUP和EQU指令的含义是什么?
DUP是伪指令,EQU是等于指令。dup是一个操作符,在汇编语言中同db、dw、dd等一样,也是由编译器识别处理的符号。是和db、dw、dd等数据定义伪指令配合使用的,用来进行数据的重复。EQU 伪指令把一个符号名称与一个整数表达式或一个任意文本连接起来。

汇编语言:底下的程序显示 cmp [si],0和test[si]不正确 为什么啊 这...
已经改过了,[si]是寄存器间接寻址,但是无变量名的寄存器变量寻址属于无类型量,后面的立即数也是无类型量,所以不符合语法规则,使用ptr伪指令即可修改。。还有x属于字节型变量,所以不要和8000h比,和80h比就够了,你不就是想验证一下零的最高位是一还是零吗?data segment x db -9,4,0,0,'$...

商州区18749412764: 在C程序中,sizeof是指什么 -
威玉博士: c语言中判断数据类型长度符 用法 sizeof(类型说明符,数组名或表达式); 或 sizeof 变量名

商州区18749412764: c语言中SIZEOF啥意义+作用 -
威玉博士: sizeof 用来求一个变量或者一种类型所占用的字节数.比如sizeof(int)一般是4,sizeof(char)一般是1.如果定义了一个整型数,int a,sizeof(a)就是sizeof(int),也就是4.不过,sizeof的语义远不止这些,更详细的用法可以参阅C++文档

商州区18749412764: c语言中sizeof有什么意义,刚刚在动态链表中看到的! -
威玉博士: sizeof的作用是取得参数在内存中所占大小, 例如 sizeof(char)=1 ,sizeof(int)=4

商州区18749412764: C语言里sizeof(char)是什么意思 -
威玉博士: sizeof() 是一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位). char是c语言中基本类型,一般char类型占1个字节. sizeof(char)的结果是,1. sizeof:计算数据类型长度 char = 1 int 2, long 4 int a[6]; sizeof (a) 2*6...

商州区18749412764: c语言中SIZEOF啥意义 -
威玉博士: 一、sizeof的概念sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等.它并不是函数.sizeof操作符以字节形式给出了其操作数的存储大小.操作数可以是一个表达式或括在括号内的类型名.操作数的存储大小由操作数的类型决...

商州区18749412764: c语言中sizeof什么意思 -
威玉博士: sizeof 不是函数名,而是运算符.计算 变量类型,或某一变量占内存 大小 的字节数. 例如 int 型,double 型,struct 型,简单变量名,数组名 : #include <stdio.h> struct AA{ char name[80]; int v[10]; double d[2]; }; int main(){ int i = 102; double v=...

商州区18749412764: C语言,sizeof函数测什么,具体用法怎么用 -
威玉博士: sizeof()用来测给定的数据类型在内存中占的字节长度; 比如我想知道int类型变量占几个字节 就这样使用:len = sizeof(int) 就可以了,len就是int型变量在内存中字节数; 当然你也可以这么用 int a; len = sizeof(a); 编译器会知道a是int型变量的,会自动换成sizeof(int); 另外 自己定义的数据类型也可以用sizeof来求字节数,比如定义了一个类class A{...},然后你 这样用:len = sizeof(A),就能知道A占了几个字节; 最后,提示下,sizeof是关键字或者说是运算符,不是函数,它的结果是编译的时候就确定了的,没有函数调用;

商州区18749412764: C语言中sizeof是什么意思 -
威玉博士: main() { char p[]={'a','b','c'},q[]="abc";//定义字符数组 注意:p和q不同-为q分配4个字节的空间 {'a','b','c','\0'} printf("%d %d\n",sizeof(p),sizeof(q));//sizeof 是C里面的关键字 并非函数,意思是数组p和q 所占的内存多少,单位是字节.getch();//用此命令可以在运行的的时候,按任意键退出 ,如果没有此命令,屏幕闪一下就没了(程序结束就退出) 所以看不见结果.注:在VC 中 调试(那个感叹号 )的时候已经内置此命令即使不用getch() 还是可以看到结果的.

商州区18749412764: c语言里面的sizeof是干什么的 -
威玉博士: sizeof 计算变量或变量类型占的字节数,常用于2进制文件读写,动态数组分配单元等.例如#include #include struct s{int b[2];float c[2];double d;};vo

商州区18749412764: c语言里面的sizeof是干什么的
威玉博士: 是计算一个数在计算机里所占的内存的,比如说: sizeof(int)=2 int型的在计算机里占2字节; 比如: sizeof(float)=4; sizeof(2)=2;

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网