结构体

//
//  main.m
//  StructExer
//
//  Created by apple on 14-9-2.
//  Copyright (c) 2014年 apple. All rights reserved.
//

#import <Foundation/Foundation.h>
/*
struct Student {
    char name[20];
    char sex;
    int age;
    char addr[40];
};

struct Student student;
*/

/* 错误写法
struct man
{
    int age = 30;
    int score = 80;
};

int main()
{
    man man1  = {20,70};
    
}
*/
// 结果是铁定编译通过不了的。因为这是我自创的声明带默认值的结构体,编译器没见过。结构体成员变量在声明中是不能赋值的。

/*
struct Man
{
    int age;
    int score;
};
 */

/*
//定义结构体的时候每次都要写struct 显然是烦琐了,精炼的C语言用来typedef来方便定义使用:

typedef struct Man
{
    int age;
    int score;
    
}man;
*/

/*
//声明结构体名和定义结构体变量名能不能一样?我们可以试试看:》》》结果证实可以一样
typedef struct man
{
    int age;
    int score;
    
}man;
*/


int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
       
//        struct Man man1 = {20,30};
        
        
        /*//这样非常方便
        man man1 = {20,30};
        man man2 = {20,30};
        NSLog(@"man1%d...man2%d",man1.age,man2.age);
         */
        
    }
    return 0;
}
原文地址:https://www.cnblogs.com/keyan1102/p/4485712.html