sizeof(int)的结果为
答:main里面第一行,a[10]就表示分配了10个元素的空间,所以a的size是10个int,故结果为10。所以就第一行改为a[5]或者a[]就可以了。估计你想要的是a[]这种,根据你列表里的元素个数,自动分配。
答:以前的编译器多为16位int格式,现在大都是32位int格式了。32位int格式的编译器,定义int和long都是4字节,所以你得到的结果正确,都是4。
答:在32位的系统中,sizeof(int)的值为4。如果x是int型的数组,则sizeof(x)/sizeof(int)代表x的位数。探究的一般过程是从发现问题、提出问题开始的,发现问题后,根据自己已有的知识和生活经验对问题的答案作出假设.设计探究的方案,包括选择材料、设计方法步骤等.按照探究方案进行探究,得到结果,再分析所...
答:首先,int的大小是4个byte 上面的公式就是4*10/3.2 由于3.2是浮点型的所以经过类型转换后计算,结果是浮点型4*10/3.2 = 12.5
答:cout<<sizeof(int);结果都是4.不同的编译器,规定也不一样.float,double也是一样的,在不同的编译器里,占的字节是不一样的.不管你是多少位的机器它都是这么处理的,至于为什么int型最小的数是-32768,请参考楼上的同学们的回答 16个码位,每个码位两种变化(0,1),一共有2的16次方种(既...
答:int占多少个字节是由编译器决定的,ANSI标准定义int是占2个字节.TC是按ANSI标准的,它的int是占2个字节的.你可以在TC里试.printf("%d",sizeof(int));结果是2;但是在VC里,一个int是占4个字节的,在VC里面,printf("%d",sizeof(int));cout<<sizeof(int);结果都是4.不同的编译器,...
答:内存对齐问题。一般C语言内存对齐的原则是,成员变量存放的起始地址必须是成员变量大小整数倍。那么,sizeof(char)=1, sizeof(int)=4,sizeof(short)=2。所以对于name1,str起始地址为name1+0,x起始地址为name1+2,num起始地址为name1+4。计算到name1的末端,一共8个字节长,其中有3字节没有...
答:这个跟编译器有关 你应该是在64位的系统上运行的 32位的编译器 所以出现这样的结果
答:1.一个字节占8位,sizeof(int)表示计算出int占用几个字节,字节数*8就表示int总共多少位了。2.这个的确是用了递归,但是完全没必要用递归,一个for循环就可以实现了,并且比递归直观。3.对于putchar('0'+((unsigned)(x&(1<<(n-1)))>>(n-1)));这句代码的理解,LZ首先要了解一些必要的...
答:需要注意的是,`sizeof(A)`返回的结果是一个无符号整数,其单位为字节。对于数组,`sizeof(A)`返回的是整个数组所占据的内存大小,而不是数组中的元素个数。例如,如果定义了一个包含10个整数的数组`int arr[10]`,则`sizeof(arr)`的值通常等于40或80,具体取决于当前编译环境是否采用了内存对齐...
网友评论:
通江18983998211:
c语言中SIZEOF啥意义+作用 -
59396雍畅
: sizeof 用来求一个变量或者一种类型所占用的字节数.比如sizeof(int)一般是4,sizeof(char)一般是1.如果定义了一个整型数,int a,sizeof(a)就是sizeof(int),也就是4.不过,sizeof的语义远不止这些,更详细的用法可以参阅C++文档
通江18983998211:
表达式sizeof(int)会得到int类型的变量所占的字节,所得的值是一个size - t类型的整数 -
59396雍畅
: size_t,在头文件stddef.h中定义.这是一个依赖于编译系统的值,一般定义为 typedef unsigned int size_t; 而sizeof是C/C++中的一个操作符(operator),其作用就是返回一个对象或者类型所占的内存字节数.字节数自然就是整型的.
通江18983998211:
C语言中“SIZEOF(INT)“是什么意思?有什么作用? -
59396雍畅
: sizeof()顾名思义size of ...某某的大小长度.如果是sizeof(int)那就意味着一个int型的长度.8位代表一个字节长度,所以如果是一般使用的tc编译器(16位的)那么sizeof(int)就等于2.
通江18983998211:
sizeof函数可以计算int型的长度吗? -
59396雍畅
: 你这里的a是有数据类型的,所以在用&a[1]-&a[0]的时候所出现的数值是1,因为它们之间相差的是一个int型变量的空间.同样的,可以用指针来理解,你声明一个指针的时候用的是 int *p;//这个指针是指int型变量的.这说明了在变量中,变量地址也是有类型的(如果不是的话,内存中都是二进制的数,就分不出什么 是什么了) 现在你这么理解就可以了.想要明白更多,必须从计算机组成,汇编和操作系统都学的差不多了才可以.
通江18983998211:
c语言中SIZEOF啥意义 -
59396雍畅
: 一、sizeof的概念sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等.它并不是函数.sizeof操作符以字节形式给出了其操作数的存储大小.操作数可以是一个表达式或括在括号内的类型名.操作数的存储大小由操作数的类型决...
通江18983998211:
编程实现sizeof的功能来计算int型数据的字节数 -
59396雍畅
: 这个其实就是对指针的一个理解了. 指针的加减是按类型的长度乘以数值来计算的.char 是最小单位1 int类型的指针自增1 意味着,地址加四.从里面开始看,&a就是取 变量 a 的地址,并且由a的类型知道该地址对应的指针是指向int的,增加1就是加上一个int类型数据的长度.强转成char* 就会改成以1为长度计算,所以两个相减得到的是一个int类型数据的长度.
通江18983998211:
1.sizeof(int)*p 2.int *p=NULL;sizeof(p)的值是多少?sizeof(*P) -
59396雍畅
: 首先,不同的系统位数下,指针所占的字节数是不同的. 16位系统已经很少使用了,暂不在本题讨论范围内. 32位系统下→ 指针所占字节数是4,即4*8 = 32位,在64位操作系统下→指针则占8个字节,即8*8=64位. 然后我们来看你的第一个...
通江18983998211:
sizeof(int)*10/3.2是怎么算出来得12.5的啊? -
59396雍畅
: 首先,int的大小是4个byte 上面的公式就是4*10/3.2 由于3.2是浮点型的所以经过类型转换后计算,结果是浮点型4*10/3.2 = 12.5
通江18983998211:
sizeof括号里面有一个数,这个数就表示整型 -
59396雍畅
: sizeof 是 一目运算符,计算括号里 的 对象, 它 占内存 字节个数.sizeof括号里面有一个数, 里面的数如果是整型 ,则表示 int 型,例如:sizeof(123456), 这个表达式就等于 sizeof(int) 的计算结果.得4 如果是别的类型:sizeof(1234.5678), 这个表达式就等于 sizeof(double) 的计算结果.得8 sizeof(1234.56L), 这个表达式就等于 sizeof(double) 的计算结果.得8 sizeof(1234.56f), 这个表达式就等于 sizeof(float) 的计算结果.得4.
通江18983998211:
sizeof(int)*p 是什么意思 -
59396雍畅
: 1、sizeof(int)表示求int型变量所占空间字节数.2、在32位编译系统,sizeof(int)=4,在16位编译系统,sizeof(int)=2.3、因此,sizeof(int)*p要么等于4*p,要么等于2*p.