wlbk.net
当前位置:首页 >> C语言sizEoF >>

C语言sizEoF

一、sizeof的概念 sizeof是c语言的一种单目操作符,如c语言的其他操作符++、--等.它并不是函数.sizeof操作符以字节形式给出了其操作数的存储大小.操作数可以是一个表达式或括在括号内的类型名.操作数的存储大小由操作数的类型决定

sizeof是c/c++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数 在你的程序中就是输出p和q数组所占用的字节数

指的是该对象在内存中所占的字节数,例如:你的sizeof(p)是3,占三个字节,sizeof(q)占4个字节 因为字符数组还有一个界定符'\0',用来标识字符串的结束.

C语言中的sizeof是一个很有意思的关键字,经常有人用不对,搞不清不是什么.我以前也有用错的时候,现在写一写,也算是提醒一下自己吧.反正现在来看,还在搞sizeof是什么意思,怎么用正确,还是有点搞笑,都经常用的东西,没有理解

sizeof:计算数据类型长度 char = 1 int 2, long 4 int a[6]; sizeof (a) 2*6= 12 单位都是字节.float 4

首先,sizeof不是函数,是操作符.一、struct lnode *create(int n){}定义一个有一个int型参、返回值为struct lnode *型指针的函数create.二、p1 = (struct lnode*)malloc(sizeof(struct lnode));由操作符sizeof计算出一个struct lnode结点所需的内存单元数,并由函数malloc申请分配一个节点数量的内存单元,并把首地址强制为struct lnode*型指针赋给指针变量p1.三、q = create(n);用n调用create函数,并将返回值赋给变量q.

strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止. char aa[10];cout<<strlen(aa)<<endl; //结果是不定的 char

sizeof("a")应该就是1个字节 sizeof('a')会被当做sizeof(97)处理,97是'a'的ascii码

用于返还数据结构的大小,单位为字节.比如sizeof(double)返还值为整形8,因为double数据结构的大小为8字节.当然像double这种数据结构都是大家熟知的,一般sizeof()用于返还用户自定义的数据结构的大小,比如结构体和类的大小.至于用途,举个例子,在使用malloc()分配内存的时候,有时候需要根据某数据机构的大小来分配,而为了增强兼容性,在写程序的时候,你往往不清楚用户用什么样的数据结构此时就可以使用sizeof(t)(不过用new语句也行).

上面已经讲得很清楚了,我也来来讲句废话,简单地来说,sizeof()就是返回括号中变量或数据类源型在内存中所占的字节数.知如:sizeof(int)则返回4;sizeof(x)则返回8,这里假设x是double型.(在vc6.0环境下)道

网站首页 | 网站地图
All rights reserved Powered by www.wlbk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com