C语言sizeof
一、关于sizeof
1.它是C的关键字、是一个运算符,不是函数;
2.一般用法为sizeof 变量或sizeof(数据类型);后边这种写法会让人误认为是函数,但这种写法是为了防止和C中类型修饰符(static、const、extern等)冲突。
二、demo
1.源码
test.c
#include <stdio.h> int main()
{
int i;
printf("sizeof i is %d\n",sizeof i);
/*
以下语句不屏蔽会提示:test.c:12: 错误: expected expression before ‘int’
因为,基本数据类型int前的关键字会被认为成是类型修饰符(类似static、const、extern等,而sizeof关键字不是类型修饰符)
正确写法:printf("sizeof(int) is %d\n",sizeof(int));
*/
//printf("sizeof int is %d\n",sizeof int); enum Color{
GREEN = ,
RED,
BLUE,
GREEN_RED = ,
GREEN_BLUE
}ColorVal;
printf("sizeof ColorVal is %d\n",sizeof ColorVal);
/*
以下语句不屏蔽会提示:test.c:26: 错误: expected expression before ‘enum’,原因同上。
正确写法:printf("sizeof(enum Color) is %d\n",sizeof(enum Color));
*/
//printf("sizeof enum Color is %d\n",sizeof enum Color); union check{
int i;
char ch;
} c;
printf("sizeof c is %d\n",sizeof c);
/*
以下语句不屏蔽会提示:test.c:37: 错误: expected expression before ‘enum’,原因同上。
正确写法:printf("sizeof(union check) is %d\n",sizeof(union check));
*/
//printf("sizeof union check is %d\n",sizeof union check); struct list{
int i;
char ch;
} a;
printf("sizeof a is %d\n",sizeof a);
/*
以下语句不屏蔽会提示:test.c:48: 错误: expected expression before ‘enum’,原因同上。
正确写法:printf("sizeof(struct list) is %d\n",sizeof(struct list));
*/
//printf("sizeof struct list is %d\n",sizeof struct list);
return ;
}
C语言sizeof的更多相关文章
- C语言-sizeof()与strlen()的区别【转】
先看看sizeof() 一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是函数.sizeof操作符以字节形式给出了其操作数的存储大小.操作数可以是 ...
- c语言 sizeof理解
1.基本数据类型 char :1 short:2 int 4 long 4 long long :8 float:4 double :8字节. 2.数组:对应的基本数 ...
- C语言sizeof陷阱
执行以下程序,查看输出: #include <stdio.h> #define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0])) int ...
- c语言sizeof与strlen的区别
#include <stdio.h> #include <stdlib.h> #include <string.h> //strlen与sizeof的区别 //st ...
- C语言 - sizeof和strlen的区别
sizeof和strlen的区别: 1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型. 该类型保证能容纳实现所建立的最大对象的字节大小. 2.s ...
- C 语言sizeof运算符
#include<stdio.h> int main() { ; ); ; int size3 = sizeof a; int size4 = sizeof(a); int size5 = ...
- C语言 sizeof()用法介绍
本文 转自https://www.cnblogs.com/huolong-blog/p/7587711.html 1. 定义 sizeof是一个操作符(operator). 其作用是返回 ...
- c语言sizeof用法(32位机)
- C语言sizeofkeyword
说明: ******C语言sizeof是keyword.是一个操作符.它不是一个函数.用于计算可变.或内存数据字节数占用类型. ******sizeof有三种不同的方式: ***sizeof(变量名) ...
随机推荐
- Ubuntu 12.04 禁用触摸板
昨天把系统换为Backbox了,版本为Ubuntu12.04,装完后发现其触摸板不能禁用,之前在其他版本都是直接快捷键就可关闭或者启用触摸板,解决方法如下: sudo add-apt-reposito ...
- meta name="viewport" 属性详解
随着高端手机(Andriod,Iphone,Ipod,WinPhone等)的盛行,移动互联应用开发也越来越受到人们的重视,用html5开发移动应用是最好的选择.然而,每一款手机有不同的分辨率,不同屏幕 ...
- min-height for IE6
1. className{ min-height:500px; height:auto !important; height:500px; } 2. 在做页面布局时遇到了i ...
- 暂且解决INSTALL_FAILED_SHARED_USER_INCOMPATIBLE错误
有时候我们在APK安装时由于工程制定了UID,换过签名后可能出现 类似 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 或 INSTALL_FAILED_UPDATE_ ...
- ASP.NET MVC报错: Multiple types were found that match the controller named
当使用ASP.NET MVC的Area功能时,出现了这样的错误: Multiple types were found that match the controller named 'Home'. T ...
- C#4.0新特性:可选参数,命名参数,Dynamic
1.可选参数 可以为方法的参数设置一个默认值,如下: class Program { static void Main(string[] args) { Show(); Show("cary ...
- PowerDesigner的图形工具栏被我关了 怎么才能恢复?就是那个快捷工具栏 图形那个里面有什么放大镜 表 视图什么的
PowerDesigner的图形工具栏被我关了 怎么才能恢复?就是那个快捷工具栏 图形那个里面有什么放大镜 表 视图什么的 工具-->自定义工具栏-->palette选中
- Codeigniter MongoDB类库
安装方法:1.将mongodb.php 放到config目录2.将Mongo_db.php放到library目录 使用方法: $this->mongo_db->where_gte('age ...
- Oracle translate 函数的用法, 以及和replace的区别
translate 是用来替换字符的函数 语法: translate(char, from_str,to_str) 其中,char是待处理的字符串. from_str是按顺序排列若干个要被替换 ...
- js停止冒泡和阻止浏览器默认行为
停止冒泡通用方法: function stopBubble(e) { //如果提供了事件对象,是非IE浏览器 if ( e && e.stopPropagation ) //使用W3C ...