int a【1】和int a两个int变量不能用变量占用的内存一样大吗?处理效率哪个更高?

已知 int a[10] ,请问占用内存多少个字节? 原因?_百度知道
已知 int a[10] ,请问占用内存多少个字节? 原因?
我有更好的答案
共占用10*sizeof(int)个字节。因为数组共有10个int单元。
采纳率:83%
来自团队:
已知 int a[10] ,请问占用内存多少个字节? 原因?婆窃享眠妻摄雅纲绸争
本回答被提问者采纳
楼主你好:多数平台上int占4个字节(32位,不是16位!),跟编译器有关,你可以用sizeof(int)来获取int类型有多少位,int a[10]在编译的时候就会为数组a分配10个int型数据所占用的空间,如果int占4个字节的话,也就是32位,故10*4=40个字节。在你的编译器里 : int a[10] ;printf(&数组的长度为:%d,int占%d个字节!&,sizeof(a),sizeof(int));自己试试就知道了,希望对楼主有所帮助!
请问是 什么编译器
如果是 vc++ 则 一个整形占4个字节a[10] 是10个整形的数组 则占 4*10 个字节
#include &iostream&int main(){
int a[10]; printf(&%d %d &,sizeof(a), sizeof(a[0])); return 0;}
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
占用内存的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
C#面向对象程序设计【期末考试试题卷A卷】及答案.doc 10页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
洛阳理工学院
学年 第一学期 面向对象程序设计 期末考试试题卷(A)
适用班级:
考试时间:
注意:看清题目要求,书写整洁!
选择题(每小题2分,30题共计60分)
C#中每个int 类型的变量占用(
)个字节的内存。
在C#中,表示一个字符串的变量应使用以下哪条语句定义?(
C. Dim str as string
在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?(
A. decimal theM
B. int theM
C. string theM
D. Dim theMoney as double
C#中,新建一字符串变量str,并将字符串"Tom's Living Room"保存到串中,
则应该使用下列哪条语句?(
A. string str = "Tom\'s Living Room";
B. string str = "Tom's Living Room";
C. string str("Tom's Living Room");
D. string str("Tom"s Living Room");
C#中MyClass 为一自定义类,其中定义了以下方法
public void Hello()
使用以下语句创建了该类的对象,并使变量obj 引用该对象:
MyClass obj = new MyClass();
那么,可如何访问类MyClass 的Hello 方法?(
A. obj.Hello();
B. obj::Hello();
C. MyClass.Hello();
D. MyClass::Hello();
分析下列C#语句,注意类MyClass 没有访问修饰符:
namespace ClassLibrary1
class MyClass
public class subclass
若必须为类MyClass 添加访问修饰符,并使MyClass 的可访问域保持不变,则应选择(
A. private
B. protected
C. internal
分析下列程序:
public class class4
private string
_sData = "";
public string sData
在Main 函数中,在成功创建该类的对象obj 后,下列哪些语句是合法的?(
A. obj.sData = "It is funny!";
B. Console.WriteLine(obj.sData);
C. obj._sData = 100;
D. obj.set(obj.sData);
在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成(
A. sealed 方法
B. public 方法
C. virtual 方法
D. override 方法
类MyClass 中有下列方法定义:
public void testParams(params int[] arr)
Console.Write ("使用Params参数!");
public void testParams(int x,int y)
Console.Write ("使用两个整型参数!");
请问上述方法重载有无二义性?若没有,则下列语句的输出为(
MyClass x = new MyClass();
正在加载中,请稍后...union { char x[2]; }a; int main() { a.x[0]=10; a.x[1]
union { char x[2]; }a; int main() { a.x[0]=10; a.x[1]=1; printf("%d\n",a.i); return 0; } 输出结果是什么,
union 只分配一块内存,有i和x公用, 即修改了x的内容,i的内容也改变了按照内存分布,x 改之后内存为 0x010a也就是说,i的内存时0x10a也就是10进制266 再问: 谢谢。只是我是C++初学者,对union这方面只是一点都不懂,能再具体点嘛 再答: union这种类型,就是内部的变量共同使用一块空间,按照size大的分配 int i 占4个字节 char x[2] 占2个,所以一共分配了4个字节 可以使用 sizeof(a) 来看下它的总大小 一共4个字节的内存,对应x来说相当于占用了低2个字节,而给x赋值的1,和10,就存在个位和十位上了(十六进制) 如果还不懂,那没啥办法了,以后多学点就知道了再问: 明白了。谢谢!
我有更好的回答:
剩余:2000字
与《union { char x[2]; }a; int main() { a.x[0]=10; a.x[1]》相关的作业问题
union {// 着是个共用体,就是说int的k与char*2的i[2]共用同一个存储空间char i[2];}*s,a;s=&a;// s指向a的地址s->i[0]=0x39;// 将16进制的39(2进制)写入a.i[0];s->i[1]=0x38;// 将16进制的38(2进制001
要想弄清这个问题 必须要 弄清楚 什么是联合?联合是一种可构造的数据类型,就像定义的那样{char ch[2];} 首先,你要弄清楚他占多大内存,就像 INT 占四字节,SHORT 占两字节,它占多大呢? 测试一下 发现结果 是 4字节, 也就是它用这 四个字节 来存储 其对应的值,我们想,你一个 INT
int x( ){ char ch='a'; return (int) }
char --character 字符型double -- 双精度浮点型enum -- 自定义枚举类型float---- 单精度浮点型int -- 整型,long -- 长(整型)short -- 短(整型)signed -- 有符号struct -- 结构型union -- 联合体unsigned -- 无符号voi
#include//加入标准io库,stdio.hvoid strcopy(char *str1,char *str2,int m)//声明并定义一个无返回值函数strcopy,该函数有三个参数,分别为字符(串)指针型的str1和str2,整数型的m{//函数strcopy实现了,将str1的m位置起的(m=0对应第一
这段程序的意思就是把一个字符串的第一个字符放到最后位置.因为要把后一个字符(str[i+1])赋给本轮的字符(str[i])所以需要检测后一个字符是不是结束符(str[i+1]!=0)如果str[i]!=0,这样就会下标越界了.
应该是8.循环9次,k的值从0到8.字符串的结束符标志为'/0'当遍历字符串S到'/0'时,循环结束.char s="a \045 + 0 + 4 5 \’b"\045表示减号\'表示单引号
想法把要字符串(morning)中最大的字母和最后一位字母互换位置for(i=1;i 再问: 详细点 再答: 想法是好的,但这种写法在一些编程语言中可能会得不到你想要的结果,比如C++a[j]=a[7]; // 这种写法可能不会被接受再问: 那应该怎么写 再答: 可能说你上面的写法有点问题更合适吧a[7] 是结束符了,
程序运行错误,重新安装本软件~然后就行编写就可以了!
有个float型数是35.65转成int ,long ,char,.unsigned#includevoid main(){float fN=35.65;int iN=(int)fN;long lN=(long)fN;char cN=(int)fN;unsigned uN=(unsigned)fNprintf("%f
f(a) 返回的是a对2的余数,所以结果是1或者0.在for循环里f(s[i])作为条件,当为0(0在C里面为假)的时候结束循环.循环体,把s[i]加到d上,d的初始值为0.所以程序相当于把1 + 3 + 5 的值付给d,所以结果输出9.
这个有点纠结,我慢慢说来——首先 p1 指向第一个字符‘A’,p2 指向最后一个字符‘G’.然后进入循环:第一遍开始,把语句拆解一下,等价于:s = *p1; // s == 'A'p1++; // *p1 == 'B'*p1 = *p2; // 'B' 替换成 'G'p2--; // *p2 == 'F'*p2 =
printf(%d\n",n*arge);中的arge是argc吗?如果是的话,结果应该是6,输入exam 123后,参数argc = 2,argv[1] = "123".因为字符串“123”长度为3,所以argc * n 等于2 * 3 等于6.若exam后没有参数,则argc = 1,argv[0] =
在函数运行的时候,除了函数名还可以再输入一个字符串.argc用来存储字符串的大小,argv用来存储这个字符串. 再问: 输入字符串有什么用? 再答: 最简单的情况下,就是你写了一个程序,可以printf(‘hello:%s‘,argv[]),那么当你在调用的时候输入,function kexian,输出的结果就是hel
A B错在对多个变量赋予同一值,必须分别指定.C错在字符变量定义时用' ':char a='1';Dab中间的分号应改为" , "英语中的逗号.
d,只有指针才能用->这个符号,此题中B就可以写成:p->no
B.逻辑短路.对于X&&Y运算.如果X=0,则不再计算Y,且X&&Y==0.
t=1.函数 strcmp 比较两个字符串的“大小”.即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止.当s10 .本例中 s1 > s2,所以返回大于零的值 1.
*p->y 指向tab[0].y*(++p)->y 指向tab[1].y 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
1.static struct {int a1;float a2;char a3;}a[10]={1,3.5,'
下载积分:5000
内容提示:1.static struct {int a1;float a2;char a3;}a[10]={1,3.5,'
文档格式:DOC|
浏览次数:285|
上传日期: 16:34:54|
文档星级:
全文阅读已结束,如果下载本文需要使用
 5000 积分
下载此文档
该用户还上传了这些文档
1.static struct {int a1;float a2;char a3;}a[10]=
关注微信公众号关于一个int *p=(int *)(&a + 1);问题的探讨 - 简书
关于一个int *p=(int *)(&a + 1);问题的探讨
感觉这个问题是C语言面试挺典型的一道问题,这么多年了一直能见到,拿过来分享给大家
#include &stdio.h&
int main ()
int a[5] = {1,2,3,4,5};
int *p = (int*)(&a + 1);//&a表示整个数组的地址
printf("%d %d" , *(a + 1), *(p - 1));
//输出结果为:2,5
*(a+1)其实很简单就是指a[1],输出为2.
问题关键就在于第二个点,*(p-1)输出为多少?
&a+1不是首地址+1,系统会认为加了一个整个a数组,偏移了整个数组a的大小(也就是5个int的大小)。所以int*ptr=(int*)(&a+1);其实p实际是&(a[5]),也就是a+5.
原因为何呢?
&a是数组指针,其类型为int(*)[5];而指针+1要根据指针类型加上一定的值,不同类型的指针+1之后增加的大小不同,a是长度为5的int数组指针,所以要加5*sizeof(int),所以p实际是a[5],但是p与(&a + 1)类型是不一样的,这点非常重要,所以p - 1只会减去sizeof(int*),a,&a的地址是一样的,但意思就不一样了,a是数组首地址,也就是a[0]的地址,&a是对象(数组)首地址,a+1是数组下一元素的地址,即a[1],&a + 1是下一个对象的地址,即a[5]。
趣玩时钟作者
C语言笔记 一终端命令 ls -l显示当前工作路径下的所有的文件及文件信息 d开头文件夹 -开头文件 r读 w写 x执行 - -当前用户的权限 - -其他用户的权限 & pwd查看终端程序的工作路径 &cd切换工作路径 &clear清理屏幕 &touch新建文件 &open...
指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。 学习指针是学习C语言中最重要的一环, 能...
__block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以修饰基本数据类型。2.__weak只能在ARC模式下使用,也只能修饰对象(NSString),不能修饰基本数据类型(int)。3.__blo...
史上最全的iOS面试题及答案 iOS面试小贴士———————————————回答好下面的足够了-------------------------------------多线程、特别是NSOperation 和 GCD 的内部原理。运行时机制的原理和运用场景。SDWebIma...
copy与retain: 1、copy其实是建立了一个相同的对象,而retain不是; 2、copy是内容拷贝,retain是指针拷贝; 3、copy是内容的拷贝 ,对于像NSString,的确是这样,但是如果copy的是一个NSArray呢?这时只是copy了指向arra...
当楼梯尽头的镜头对准诺玛,灯光打在她身上,诺玛仿佛又回到了她17岁的时光,青春的魅力,人群的疯狂追捧,这一刻的诺玛演出了她人生的最后一场戏,而剧本是被她亲手结束生命同时也是她的挚爱——joe所作。 娱乐圈的光环背后,往往是可怕的空虚。黄金时代的好莱坞,对于过气明星的刻画很是...
关注互联网,关注硅谷堂。想了解更多关于互联网岗位知识的信息,关注微信公众号:硅谷堂(ID:guigutang)或下载“硅谷堂”APP。 “我原来是一个追赶者,是个颠覆者,是个挑战者,今天我怎么突然莫名其妙变成一个防御者,这个心态让我有点没有转换过来。”小米科技的董事长雷军在...
我曾经不止一次有过这样的经历。一旦开始接触一个新的事物,或者有了一个新的疑惑,过不了多久,甚至只隔一天半日,就会遇到这个事物的重复延伸或者这个问题的解答。而有些一直存在的困惑,哪怕多年后,仍会有人解惑。我总会恍然大悟,或觉得似曾相识。 我也会有这样的经历。我曾经写出不少奇异...
杂音充斥着伊文娜的耳朵。 “伊文娜?” 她感觉到自己正躺在潮湿的土地上,眼皮格外地沉重。 “伊文娜?”她听见威尔的声音,于是缓缓睁开了双眼。 “醒醒吧。“恍恍惚惚地,她看清了威尔的脸,声音也渐渐清晰了起来。坐起身,发现自己正在一片森林里。 “卢克不见了。”威尔的脸色有些黯淡...}

我要回帖

更多关于 int a 0定义一个变量 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信