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

函数不允许嵌套定义

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

// 匿名结构体,结构体的声明和变量的定义在一起
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. Codeforces Round #366 Div.2[11110]

    这次出的题貌似有点难啊,Div.1的Standing是这样的,可以看到这位全站排名前10的W4大神也只过了AB两道题. A:http://codeforces.com/contest/705/prob ...

  2. django 模版语法及使用

    模版的定义 模版是一个文本,用语分离文档的表现形式和内容,通常用于生成html 模版当中能够使用的python语法非常少,for ,if 之类,还有ifequal,结束的时候也要写endifequal ...

  3. curl/wget 测试http请求的响应头信息

    1. wget –debug wget可以使用debug信息来查看信息头,如下: [root@localhost ~]# wget --debug http://192.168.1.101:8080/ ...

  4. asp.net mvc route 中新发现的小技巧

    在发现这个小技巧之前,我经常被某些问题困扰,我们以博客园为例 1:是分类名称 2:是分类url 3:点击分类,进入的页面,要显示分类的名称 4:点击分类,进入的页面,要用分类相关参数 在日常web的开 ...

  5. CF 16C. Monitor

    题目链接 水题依旧无法1Y. #include <cstdio> #include <iostream> #include <cmath> using namesp ...

  6. URAL 1152. False Mirrors(DP)

    题目链接 理解了题意之后,就不难了..状态压缩+暴力. #include <cstring> #include <cstdio> #include <string> ...

  7. BZOJ4521: [Cqoi2016]手机号码

    Description 人们选择手机号码时都希望号码好记.吉利.比如号码中含有几位相邻的相同数字.不含谐音不 吉利的数字等.手机运营商在发行新号码时也会考虑这些因素,从号段中选取含有某些特征的号 码单 ...

  8. 自定义plain 样式的 tableview,模拟器上不显示分割线,真机上却显示分割线.

    一, 经历 1> 自定义plain 样式的 tableview,模拟器上不显示分割线,真机上却显示cell 下面的分割线. 2> 尝试使用表格的separatorStyle属性,尝试失败. ...

  9. python 教程

    教程 http://www.runoob.com/python/att-list-append.html 习题 http://blog.csdn.net/liuyuan_jq/article/deta ...

  10. tomcat、Linux服务器

    tomcat.Linux服务器 用到的命令        解压命令: tar -zxvf 文件名 配置 :        vi /etc/profile                按 i  进入 ...