函数的定义
     返回值类型 函数名(形式参数列表) {
        函数的实现
     }

函数不允许嵌套定义

如果函数的定义在主调函数之后,那么要进行提前声明才能使用.

// 匿名结构体,结构体的声明和变量的定义在一起
struct {
    int number;
    char name[30];
} student1 = {1, "wukong"}, student2 = {2, "bajie"};

// 定义一个MyPoint类型结构体变量
    // 格式:struct 结构体类型 变量名 = {初值};
    struct MyPoint point1 = {2.9, 3.0};
    struct Student stu1 = {"yaoming", 1, 'm', 30, 90.0};
    struct MySize size1 = {30.8, 50.0};
    struct MyDate date1 = {2015, 7, 29};
    
    // 访问结构体成员:结构体变量名.成员变量名
    printf("name = %s\n", stu1.name);
    printf("year = %d\n", date1.year);
    size1.height = 100.0;

struct Student stu2 = {"mayun", 2, 'm', 50, 99.0};
    stu1 = stu2;
    printf("stu1.name = %s\n", stu1.name);
    // 我们可以通过给结构体变量赋值的形式达到给结构体中数组类型的成员赋值的目的。
    
    // typedef 原类型名 新的类型名
    typedef int Integer;
    Integer num1 = 30; // 和int num1 = 30; 完全等价
    typedef struct Student Student; // 给struct Student结构体类型起一个别名为Student
    Student stu3 = {"beikehanmu", 3, 'm', 40, 100.0};
    printf("name = %s\n", stu3.name);

// 结构体的内存占用
    printf("%lu\n", sizeof(struct MySize));
    printf("%lu\n", sizeof(struct MyPoint));
    printf("%lu\n", sizeof(struct MyDate));
    printf("%lu\n", sizeof(Student));
    // 结构体内存占用的两个原则:1、对于每一个结构体成员来说,都会认为前面已经分配了该成员类型所占字节数的整数倍个字节;2、结构体所占有的总字节数一定等于该结构体所有成员中占用字节数最大的数据类型字节数的整数倍。

C语言 ---- 函数 结构体 iOS学习-----细碎知识点总结的更多相关文章

  1. 01.C语言关于结构体的学习笔记

    我对于学习的C语言的结构体做一个小的学习总结,总结如下: 结构体:structure 结构体是一种用户自己建立的数据类型,由不同类型数据组成的组合型的数据结构.在其他高级语言中称为记录(record) ...

  2. C语言链表结构体(学习笔记)

    #include <stdio.h> #define LENTEST 100 // 采取逐步删除的方法求的素数 //先假设1-100都是素数,然后剔除2的倍数, //3的倍数,直到剔除所有 ...

  3. OC ---- 字符串 数组 iOS学习-----细碎知识点总结

    NSString *urlString = [NSString stringWithFormat:@"http://www.apple.com"];        // 获取字符串 ...

  4. C语言 ---- 数组 iOS学习-----细碎知识点总结

    #pragma mark - 数组:用来存放同一数据类型的数据 // 数组的定义:类型说明符 数组名[常量表达式] = {值1, 值2, 值3...};    // 定义一个float类型的数组,用来 ...

  5. C语言 ---- 指针 iOS学习-----细碎知识点总结

    内存的访问形式:1.直接访问:通过变量名进行访问.2.间接访问:先找到变量存放的地址,然后根据地址去访问对应的内存空间. 指针--- // 定义一个整形指针变量,用来存储num1在内存中的地址    ...

  6. C语言 ---- 循环分支 iOS学习-----细碎知识点总结

    #import <Foundation/Foundation.h>  // #import是OC种的导入头文件或者是系统框架的指令 // 定义了一个Season枚举类型enum Seaso ...

  7. C语言 ---- 基本数据类型和基本运算 iOS学习-----细碎知识点总结

    // 导入头文件(stdio.h),标准输入输出的头文件,#include <stdio.h> // 程序的入口int main(int argc, const char * argv[] ...

  8. OC ---- 字典集合 iOS学习-----细碎知识点总结

    实例方法的创建 NSDictionary *wukong = [[NSDictionary alloc] initWithObjectsAndKeys:", @"age" ...

  9. Go语言 6 结构体、方法和接口

    文章由作者马志国在博客园的原创,若转载请于明显处标记出处:http://www.cnblogs.com/mazg/ Go学习群:415660935 结构体(struct)是由一系列具有相同类型或不同类 ...

随机推荐

  1. CF# Educational Codeforces Round 3 C. Load Balancing

    C. Load Balancing time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  2. js 四舍五入保留二位小数

    1. 最笨的办法....... [我就怎么干的.........] function get() { var s = 22.127456 + ""; var str = s.sub ...

  3. ios cocos2d 画线出现闪烁问题

    根据http://www.merowing.info/2012/04/drawing-smooth-lines-with-cocos2d-ios-inspired-by-paper/ 用cocos2d ...

  4. NOIP 2005 等价表达式 (TYVJ P1060)

    做题记录: 2016-08-10 23:35:09 背景 NOIP2005 提高组 第四道 描述 明明进了中学之后,学到了代数表达式.有一天,他碰到一个很麻烦的选择题.这个题目的题干中首先给出了一个代 ...

  5. HDU - The Suspects

    Description 严重急性呼吸系统综合症( SARS), 一种原因不明的非典型性肺炎,从2003年3月中旬开始被认为是全球威胁.为了减少传播给别人的机会, 最好的策略是隔离可能的患者. 在Not ...

  6. poj 1995 裸快速幂

    1. poj 1995  Raising Modulo Numbers 2.链接:http://poj.org/problem?id=1995 3.总结:今天七夕,来发水题纪念一下...入ACM这个坑 ...

  7. java代码过滤emoji表情

    可以新建一个过滤器的类,在类中书写如下代码: public static String filterEmoji(String source) {           if(source != null ...

  8. 热烈祝贺华清远见《ARM处理器开发详解》第2版正式出版

    2014年6月,由华清远见研发中心组织多名业 内顶尖讲师编写的<ARM处理器开发详解>一书正式出版.本书以S5PV210处理器为平台,详细介绍了嵌入式系统开发的各个主要环节,并注重实践,辅 ...

  9. 深入C#判断操作系统类型的总结详解(转载)

    Windows操作系统的版本号一览 操作系统  PlatformID  主版本号  副版本号  Windows95  1  4  0  Windows98  1  4  10  WindowsMe   ...

  10. java list 交集 并集 差集 去重复并集

    package com; import java.util.ArrayList;import java.util.Iterator;import java.util.List; public clas ...