首页 > 编程知识 正文

c语言gets函数用法,C语言 sizeof

时间:2023-05-04 18:27:53 阅读:162527 作者:4448

sizeof是关键字而不是函数。 即使不知道是否是32个关键字之一,也可以使用编译器来确定身份。 让我们看看以下情况。

a )、sizeof(int ); b )、sizeof(I ); c )、sizeof int; d )、sizeof i;32位系统下:

首先,很明显a、b都是4。 在Visual C 6.0或其他编译器中尝试:

C错误syntaxerror:‘type”但是d输出结果也可以在4. sizeof之后没有括号,但是sizeof绝对不是函数,因为函数之后必须没有括号。

sizeof是关键词,不是说没有后面的括号也可以吗? 那么,请想想sizeof int表示什么。 在int之前添加关键字吗? 类型扩展? 显然是不正确的。 可以在int之前加上unsigned、const等关键字,但不能加上sizeof。 是的,请记住。 sizeof在计算变量所占空间的大小时可以省略括号,但在计算类型(类型)的大小时不能省略括号。 一般来说,我们也不会偷这个懒,而是干脆写个括号,继续假装“函数”,做个“披着函数外衣的关键词”。

然后,查看以下表达式的值: (在32位系统下) )。

int *p=NULL; //请勿在此处写为Null或Null

Sizeof(p )是多少?

Sizeof(*p )多少钱?解答:

sizeof(p )表示指针自身所占空间的大小,32位下为4.sizeof ) p )表示指针所指数据类型所占的大小,整数型也可以是4. int a[100]; sizeof(a )、sizeof ) a[100]、sizeof ) a )、sizeof ) a[0]的值分别是多少?解答:

首先sizeof(a明显是数组整体的大小,所以400 sizeof(a[100]为4,a[100]是表示第100个要素的下一个要素,使用sizeof(a[100]也不会出错的理由是sizeof ) 函数的评估在运行时进行,关键字sizeof的评估在编译时进行。 虽然不存在名为a[100]的元素,但这里也不是实际访问a[100],而是仅根据数组元素的类型来确定值。 sizeof(a )为4,表示内存地址空间的大小,在Visual C 6.0中输出为400,编译器可能将a和a等同,但它们的值相同,但意义不同。 sizeof(a(0) )取第一个元素的地址,为4intb(100 );

voidfun(intb[100] )

{

Sizeof(b ); //Sizeof(B )的值是多少?

} 解答:

还是4。 实际上,以数组作为参数时,不区分int b[100]和int b[],相当于int *b。 因此,sizeof(b )是指针的大小。 分享: 0http://www.Sina.com/http://www.Sina.com /金额自由快点“打”我哦~

http://www.Sina.com/http://www.bcoder.cn/p=1435

用微信OR支付宝扫描二维码bcoder编程学习网《C语言sizeof是关键字还是函数?》

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。