重拾C,一天一点点_12
连续两天没写了,今天继续!
sizeof 对象 或 sizeof (类型名)
返回一个整型值,等于指定对象或类型占用的存储空间字节数。(返回值是无符号整型值,其类型为size_t,在头文件<stddef.h>中定义)。对象可以是变量、数组或结构;类型可以是基本类型int、double等,也可以是派生类型,如结构类型或指针类型。
类型定义:提高程序的可移植性。
typedef int Length; //将Length定义为与int具有同等意义的名字
Length len;
联合:在不同时刻保存不同类型和长度的对象的变量,编译器负责跟踪对象的长度和对齐要求。
1 union u_tag{ 2 int ival; 3 float fval; 4 char *sval; 5 } u;
访问联合中的成员:
联合名.成员 //u.ival
或 联合名->成员 //u->ival
联合只能用第一个成员类型的值进行初始化,上例联合u只能作整数值进行初始化。
位字段
将多个对象保存在一个机器字中:使用类似于编译器符号表的单个二进制位标志集合。
1 #define KEYWORD 01 2 #define EXTERNAL 02 3 #define STATIC 04 4 或enum{KEYWORD = 01, EXTERNAL = 02, STATIC = 04};
位字段(bit-field)简称字符,是“字”中相邻位的集合,“字”(word)是单个的存储单元,与具体的实现有关。
1 #include <stdio.h> 2 struct{ 3 unsigned int is_keyword : 1; //冒号后的数字表示字段的宽度(用二进制位表示) 4 unsigned int is_extern : 1; 5 unsigned int is_static : 1; 6 } flags; 7 main(){ 8 printf("%d\n", flags.is_keyword); //0 9 flags.is_keyword = 1; 10 printf("%d\n", flags.is_keyword); //1 11 }
输入与输出
int getchar(void) //返回下一个输入字符,到文件结尾,返回EOF。符号常量EOF在头文件<stdio.h>中定义,其值一般为-1,但在程序中应该使用EOF来判断文件是否结束,这样能保证程序同EOF的特定值无关。
prog < infile //从输入文件(非键盘)中读取字符
int putchar(int) //输出字符,如发生错误,则返回EOF
prog > outfile //将标准输出设备重定向到文件中,如系统支持管道,命令行可写成:prog | outfile
printf //格式化输出,调试时用的最多了
sprintf //将输出结果存在到String中
scanf //格式化输入
1 #include <stdio.h> 2 main(){ 3 double sum, v; 4 sum = 0; 5 while(scanf("%lf", &v) == 1){ 6 printf("\t%.2f\n", sum+=v); 7 } 8 return 0; 9 }
标准库
1 <stdio.h> 输入与输入 2 <ctype.h> 字符类别检测 3 <string.h> 字符串 4 <math.h> 数学 5 <stdlib.h> 一些实用函数 6 <assert.h> 诊断 7 <stdarg.h> 可变参数表 8 <setjmp.h> 非局部跳转 9 <signal> 信号 10 <time.h> 日期、时间
学到最后,往往有点敷衍了事了。
就这样一本书,基本翻完了。回想自己翻过的东西,基本上已忘记了。
基础就先打到这,接下来是算法的学习,学以致用!
原文作者:lltong,博客园地址:http://www.cnblogs.com/lltong/
转载于:https://www.cnblogs.com/lltong/p/3399492.html
重拾C,一天一点点_12相关推荐
- 【8.9】重拾编程之心 Java基础
自毕业以来,一年又一个月,初出社会,浮浮沉沉. 但是心里还是有那个想法:要么做程序猿,做么创业. ------------------------------------------------ 且行 ...
- CSS魔法堂:重拾Border之——图片作边框
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- 重拾-Spring Transaction
问题 面试中是不是有时经常会被问到 "Spring 事务如何管理的了解吗?" ,"Spring 事务的传播性有哪些,能聊聊它们的使用场景吗?", "事 ...
- 重拾算法(3)——用458329个测试用例全面测试二叉树和线索二叉树的遍历算法
重拾算法(3)--用458329个测试用例全面测试二叉树和线索二叉树的遍历算法 在"上一篇"和"上上一篇"中,我给出了二叉树和线索二叉树的遍历算法.给出算法容易 ...
- CSS魔法堂:重拾Border之——更广阔的遐想
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- 重拾CCNA,学习笔记持续更新ing......(4)
重拾CCNA,学习笔记持续更新ing......(4) 路由器作用功能的经典解说(笑)(非原创) 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大 ...
- reid 数据集 行人重拾别
行人重拾别 数据集 jacke121 数据集描述 Market-1501 https://blog.csdn.net/ctwy291314/article/details/83544088 数据集描述 ...
- 重拾强化学习的核心概念_强化学习的核心概念
重拾强化学习的核心概念 By Hannah Peterson and George Williams (gwilliams@gsitechnology.com) 汉娜·彼得森 ( Hannah Pet ...
- php byte stringbuffer,重拾java基础(十三):String姐妹StringBuffer、StringBuilder总结
重拾java基础(十三):String姐妹StringBuffer.StringBuilder总结 一.StringBuffer类概述buffer:缓冲 2. 字符串缓冲区,跟String非常相似,都 ...
最新文章
- 智在生活 自在慵懒 科沃斯机器人X京东大牌秒杀日主题展亮相无锡
- 跟我一起学docker(五)--仓库
- C#生成PDF文件中时,设置边框为虚线和隐藏显示单个或者多个边框。
- Linux shell编程学习笔记-----第十六章
- Win7 访问共享时输入正确密码仍然提示密码错误
- c mysql 地址池_FreeRadius 根据mysql 下发指定地址池的地址...
- 运行时异常和检查性异常区别
- Python 数据分析三剑客之 NumPy(五):数学 / 算术 / 统计 / 排序 / 条件 / 判断函数合集
- ipad如何与计算机连接网络连接不上,平板电脑网络连接不上怎么办
- matlab Tricks(二十七)—— 可变输入参数输出参数的适配
- HTML使川锚标签,第1章HTML的基本标签祥解.ppt
- mysql 连接 互联网_互联网技术分享社区 MySQL字符串连接函数
- asp.net执行js出现“已终止操作”的解决方法
- 关于CAPWAP的一些概念
- JavaScript中的数据类型及数据类型转换(附实例)
- Python Django 之 jQuery
- word 2013 长篇文档排版案例教程
- 电脑记事本中文都乱码了解决方法
- 把hive sql的关键字小写转大写的小程序
- 解决炉石传说战网无法更新问题
热门文章
- PointDSC: Robust Point Cloud Registration using Deep Spatial Consistency (PointDSC) 论文学习笔记小结
- leetcode —— 面试题54. 二叉搜索树的第k大节点
- 自然语言处理 —— 2.1 词汇表征
- 卡尔曼滤波算法及C语言实现(转载)
- 计算机桌面文件夹排序,电脑桌面文件整理前后对照
- Ubuntu解决sudo source command not found错误
- 在VC++中使用Tab Control控件
- 1601 - The Morning after Halloween
- [GPL]GREP - basic - practice -advanced
- mysql报904_EXP-00008:遇到ORACLE错误904问题