www.3112.net > C sizEoF问题

C sizEoF问题

答案选C 在c语言中char int float double 分别占1 2 4 8 个字节大小.sizeof()是计算变量所占内存的大小

在C/C++中,sizeof是操作符而不是函数,所以那对()不是必须的,在没有歧意时可以不写。sizeof操作符用来检测系统为跟在后面的变量、类型符分配了多少个字节。下面的代码可帮助理解: //#include "stdafx.h"//If the vc++6.0, with this line.#in...

注意sizeof的返回值类型是一个size_t型,而size_t是这样定义的,typedef unsigned int size_t,也就是说它是一个unsigned int型。所以只有第四个是对的,其它都会出错。

为什么应该是4啊 你取的是buf的size啊 buf是个char数组 你这样用取的是数组的长度

在Fn函数里,形参float b[]其实与float *b是等效的。 也就是说,在这里b实际上是一个指针,而在32位机器上,指针的大小是32位的,也就是4个字节。 而在主函数里,temp是一个数组,具有10个float元素,所以大小是40个字节。

len=8?64位的编译器么?这里的数组名(作为函数参数)其实“退化”为一个指针,sizeof获取的是指针的大校如果要这么用的话可以 int func(char (&a)[]);应该是这样,嗯,你可以试下BTW:32位程序指针32位,4字节。这里8字节的话,应该是64位

以前的编译器多为16位int格式,现在大都是32位int格式了。32位int格式的编译器,定义int和long都是4字节,所以你得到的结果正确,都是4。

#include int zone(int AD[],int AD0_GD,int AD3_GD){char i,MAXAD=0,MAX;printf("sizeof(AD) = %d\n",sizeof(AD));printf("sizeof(AD[0]) = %d\n",sizeof(AD[0]));MAXAD=sizeof(AD)/sizeof(AD[0]);return MAXAD;}void main(){int AD[5]={1,2,3,...

如果之前有申明数组 int b[]={1,2,3,4,5}; 那么执行完n=sizeof(b)/sizeof(int);之后,即为5,就是b数组元素的个数 至于 sizeof(int) 是 一个int型数据在内存中所占字节数

'a' 是字符常量,为整型值,所以 sizeof('a') 等于 sizeof( long int), 得 4 (字节)。 char b = 'a'; 'a' 是字符常量,数值等于 字母 a 的 ASCII 编码 值,数值范围在1字节有符号 整型 允许范围 以内,所以 初始化时数值传递(赋值)没问题。 ...

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com