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

函数不允许嵌套定义

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

// 匿名结构体,结构体的声明和变量的定义在一起
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#335 Sorting Railway Cars

    Sorting Railway Cars time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  2. 如何在 ejs 模板中使用 helper function 外部函数进行特殊处理?

    一般我们想要在 ejs 模板中使用外部函数用于特殊的处理,比如:<%= ellipsis(title, 30) %> 通常的做法是: 使用 app.locals 来定义: app.loca ...

  3. Codeforces Round #209 (Div. 2) A. Table

    #include <iostream> #include <vector> using namespace std; int main(){ int n,m; cin > ...

  4. ACM: Racing Gems - 最长递增序列

    Racing Gems   You are playing a racing game.  Your character starts at the x axis (y = 0) and procee ...

  5. Yahoo!网站性能最佳体验的34条黄金守则

    Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践.他们为此进行了一系列的实验.开发了各种工具.写了大量的文章和博客并在各种会议上参与探讨.最佳实践的核心就是 ...

  6. 20161004 NOIP 模拟赛 T1 解题报告

    第1题  小麦亩产一千八 [问题描述] “有了金坷垃,肥料一袋能顶两袋撒,小麦亩产一千八,吸收两米下的氮磷钾……”,话说HYSBZ(Hengyang School for Boys & Zy) ...

  7. NOI模拟赛Day4

    看到成绩的时候我的内心** woc第一题写错了呵呵呵呵呵呵呵呵 人不能太浪,会遭报应的** ------------------------------------------------------ ...

  8. RSA_RSA算法原理(一)

    如果你问我,哪一种算法最重要?我可能会回答"公钥加密算法". 因为它是计算机通信安全的基石,保证了加密数据不会被破解.你可以想象一下,信用卡交易被破解的后果. 进入正题之前,我先简 ...

  9. GSM 短信相关AT指令(转)

    // AT+CSMS 选择消息业务AT+CSMS=0 // SMS 的AT 命令兼容GSM 07.05 Phase 2AT+CSMS=1 // SMS 的AT 命令兼容GSM 07.05 Phase ...

  10. SQLServer 客户端远程访问配置

    SQL2008报错“请验证实例名称是否正确并且SQL Server已配置为允许远程连接” 第一步: 连接远程服务器时SQL2008报错“请验证实例名称是否正确并且SQL Server已配置为允许远程连 ...