重拾C,一天一点点_12
连续两天没写了,今天继续!
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的更多相关文章
- 重拾C,一天一点点_2
类型转换一般来说,如果二元运算符的两个操作数具有不同的类型,较低的类型提升为较高类型,结果为较高类型.表达式由float类型的操作数不会自动转换为double类型.使用float类型主要是为了在使用较 ...
- 重拾C,一天一点点
数据类型及长度 char 字符型,占用一个字节 int 整型,通常代表特定机器中整数的自然长度 short 16位 int 16位或32位 ...
- 重拾C
重拾C,一天一点点_10 来博客园今天刚好两年了,两年前开始学编程. 忙碌近两个月,项目昨天上线了,真心不容易,也不敢懈怠,接下来的问题会更多.这两天调试服务器,遇到不少麻烦. 刚出去溜达了一下,晚上 ...
- CSS魔法堂:重拾Border之——更广阔的遐想
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——不仅仅是圆角
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——图片作边框
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——解构Border
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- 重拾Blog
上个月是我入职现在的公司三周年的月份,所以又续订了五年的合同,最近有一些思考,也不知道这个五年能否还会一直在这个公司工作. 一切随缘吧. 闲适有毒,忙碌的时光总是过的很快,自从加入这个公司以来,日常的 ...
- [linux]重拾linux
起因 因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识.本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱! 还可以用来做本地测试,学习使 ...
随机推荐
- (medium)LeetCode 229.Majority Element II
Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. The algorit ...
- HTTP 和 HTTPS 协议
HTTP协议是什么? 简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议. HTTP协议能做什么? 很多人首先一定会想到:浏览网页.没错,浏览网页是 ...
- AOP切入点注解报错
开始学习AOP,出现如下的错误,最后发现是JDK与aspectj,aspectjweaver版本问题造成的.之后改成最新版本,代码运行正常. 利用这些特性可以进行代码的插入,比如权限,缓存结合mecm ...
- 基于RBAC模型的通用企业权限管理系统
1. 为什么我们需要基于RBAC模型的通用企业权限管理系统 管理信息系统是一个复杂的人机交互系统,其中每个具体环节都可能受到安全威胁.构建强健的权限管理系统,保证管理信息系统的安全性是十分重要的.权限 ...
- Arrays
Arrays:用于操作数组对象的工具类,里面都是静态方法. asList方法:将数组转换成list集合. String[] arr = {"abc","kk", ...
- 创建一个提供数据 API 的 Node.js 网站
创建站点目录 首先,创建一个文件夹用来保存你的站点文件,使用 mkdir 就可以了 PS C:\> mkdir mysite 然后,进入到这个文件夹进行下一步的操作. 创建包说明 使用记事本或者 ...
- android项目中如何加载已有so库 <转>
1,在项目根目录下建立文件夹libs/armeabi文件夹 2,将so库放入 libs/armeabi文件夹 注意事项: 1,如果采用静态注册的方式请注意C文件中严格按照命名规则 Java_packa ...
- xml是什么?
xml Extensible Markup Language 可扩展标记语言 它被设计用来传输和存储数据. 它的内容都是由标签组成,非常有规律.
- 【caffe-windows】 caffe-master 之Matlab中model的分类应用
此篇讲述在matlab中,如何将训练好的model用于图像分类.将以mnist为例,主要用到caffe-master\matlab\demo 下的classification_demo.m ,可参考我 ...
- 数据结构-多级指针单链表(C语言)
偶尔看到大一时候写了一个多级链表,听起来好有趣,稍微整理一下. 稍微注意一下两点: 1.指针是一个地址,他自己也是有一个地址.一级指针(带一个*号)表示一级地址,他自身地址为二级地址.二级指针(带两个 ...