• 重拾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
    ", flags.is_keyword);    //0
     9     flags.is_keyword = 1;
    10     printf("%d
    ", 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("	%.2f
    ", 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/

  • 相关阅读:
    从原理上理解NodeJS的适用场景
    core 基本操作
    SQL Server 触发器
    Centos 7 Apache .netcore 做转发
    Windows Server 使用 WAMP 并配置 Https
    centos7 apache php git pull
    Visual StudioTools for Unity 使用技巧2
    如何实现Windows Phone代码与Unity相互通信(直接调用)
    关于NGUI与原生2D混用相互遮盖的问题心得
    关于NGUI制作图集在低内存设备上的注意事项
  • 原文地址:https://www.cnblogs.com/lltong/p/3399492.html
Copyright © 2020-2023  润新知