连续两天没写了,今天继续!

sizeof 对象 或 sizeof (类型名)

返回一个整型值,等于指定对象或类型占用的存储空间字节数。(返回值是无符号整型值,其类型为size_t,在头文件<stddef.h>中定义)。对象可以是变量、数组或结构;类型可以是基本类型int、double等,也可以是派生类型,如结构类型或指针类型。

类型定义:提高程序的可移植性。

  typedef int Length;  //将Length定义为与int具有同等意义的名字

  Length len;

联合:在不同时刻保存不同类型和长度的对象的变量,编译器负责跟踪对象的长度和对齐要求。

 union u_tag{
int ival;
float fval;
char *sval;
} u;

访问联合中的成员:

  联合名.成员   //u.ival

或 联合名->成员  //u->ival 

联合只能用第一个成员类型的值进行初始化,上例联合u只能作整数值进行初始化。

位字段

将多个对象保存在一个机器字中:使用类似于编译器符号表的单个二进制位标志集合。

 #define KEYWORD        01
#define EXTERNAL 02
#define STATIC 04
或enum{KEYWORD = , EXTERNAL = , STATIC = };

位字段(bit-field)简称字符,是“字”中相邻位的集合,“字”(word)是单个的存储单元,与具体的实现有关。

 #include <stdio.h>
struct{
unsigned int is_keyword : ; //冒号后的数字表示字段的宽度(用二进制位表示)
unsigned int is_extern : ;
unsigned int is_static : ;
} flags;
main(){
printf("%d\n", flags.is_keyword); //
flags.is_keyword = ;
printf("%d\n", flags.is_keyword); //
}

输入与输出

int getchar(void)  //返回下一个输入字符,到文件结尾,返回EOF。符号常量EOF在头文件<stdio.h>中定义,其值一般为-1,但在程序中应该使用EOF来判断文件是否结束,这样能保证程序同EOF的特定值无关。

prog < infile  //从输入文件(非键盘)中读取字符

int putchar(int)  //输出字符,如发生错误,则返回EOF

prog > outfile  //将标准输出设备重定向到文件中,如系统支持管道,命令行可写成:prog | outfile

printf     //格式化输出,调试时用的最多了

sprintf    //将输出结果存在到String中

scanf    //格式化输入  

 #include <stdio.h>
main(){
double sum, v;
sum = ;
while(scanf("%lf", &v) == ){
printf("\t%.2f\n", sum+=v);
}
return ;
}

标准库

 <stdio.h>  输入与输入
<ctype.h>  字符类别检测
<string.h>  字符串
<math.h>  数学
<stdlib.h>  一些实用函数
<assert.h>  诊断
<stdarg.h>  可变参数表
<setjmp.h>  非局部跳转
<signal>    信号
<time.h>    日期、时间

学到最后,往往有点敷衍了事了。

就这样一本书,基本翻完了。回想自己翻过的东西,基本上已忘记了。

基础就先打到这,接下来是算法的学习,学以致用!

  

原文作者:lltong,博客园地址:http://www.cnblogs.com/lltong/

重拾C,一天一点点_12的更多相关文章

  1. 重拾C,一天一点点_2

    类型转换一般来说,如果二元运算符的两个操作数具有不同的类型,较低的类型提升为较高类型,结果为较高类型.表达式由float类型的操作数不会自动转换为double类型.使用float类型主要是为了在使用较 ...

  2. 重拾C,一天一点点

    数据类型及长度 char        字符型,占用一个字节 int          整型,通常代表特定机器中整数的自然长度 short       16位 int         16位或32位 ...

  3. 重拾C

    重拾C,一天一点点_10 来博客园今天刚好两年了,两年前开始学编程. 忙碌近两个月,项目昨天上线了,真心不容易,也不敢懈怠,接下来的问题会更多.这两天调试服务器,遇到不少麻烦. 刚出去溜达了一下,晚上 ...

  4. CSS魔法堂:重拾Border之——更广阔的遐想

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  5. CSS魔法堂:重拾Border之——不仅仅是圆角

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  6. CSS魔法堂:重拾Border之——图片作边框

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  7. CSS魔法堂:重拾Border之——解构Border

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  8. 重拾Blog

    上个月是我入职现在的公司三周年的月份,所以又续订了五年的合同,最近有一些思考,也不知道这个五年能否还会一直在这个公司工作. 一切随缘吧. 闲适有毒,忙碌的时光总是过的很快,自从加入这个公司以来,日常的 ...

  9. [linux]重拾linux

    起因 因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识.本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱! 还可以用来做本地测试,学习使 ...

随机推荐

  1. Spring MVC 中的基于注解的 Controller【转】

    原文地址:http://my.oschina.net/abian/blog/128028 终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 H ...

  2. 模拟一下goldengate中断后,重新同步操作

    模拟一下goldengata中断后,重新同步操作:     1.关掉源端抽取进程 GGSCI (20081122-2105) 15> info all Program     Status    ...

  3. that-annoying-insert-problem-getting-data-into-the-db-using-dapper

    http://samsaffron.com/archive/2012/01/16/that-annoying-insert-problem-getting-data-into-the-db-using ...

  4. WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法

    最近在试着在Windows 7上搭建Windows Phone 8的开发调试环境,使用的是VMware Workstation + Win8 Pro的虚拟环境, 在漫长的WPexpress_full下 ...

  5. Oracle数据库——常用命令(用户管理、数据库导入导出)

    --==cmd控制台==-- --==日常用户管理SQL==-- --连接到SQLPLUS >sqlplus /nolog --以dba身份连接 sql>conn / as sysdba ...

  6. bochs安装一系列问题

    http://blog.chinaunix.net/uid-23817499-id-3418083.html http://www.mouseos.com/os/tools/bochs.html    ...

  7. css+js+html基础知识总结

    css+js+html基础知识总结 一.CSS相关 1.css的盒子模型:IE盒子模型.标准W3C盒子模型: 2.CSS优先级机制: 选择器的优先权:!important>style(内联样式) ...

  8. 【练习】显示MySQLadmin 库户籍选项

    [oracle@enmo ~]$ mysqladmin -V mysqladmin Ver , for Linux on x86_64

  9. AX2012全新的批处理方式

    AX2009 的批处理操作我们是通过RunBaseBatch framework,我们所要做的事情就是继承RunBaseBatch class,实现里面该实现的方法来执行批处理. AX2012 的批处 ...

  10. jar包程序 读取properties文件

    String proFilePath = System.getProperty("user.dir") + "\\Mysettings.properties"; ...