//
// main.m
// C9_结构体指针
//
// Created by YIem on 15/11/20.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

struct test {

int a;
float b;
char c;

};
typedef struct test TEST;
int main(int argc, const char * argv[]) {

// 结构体指针
int  a = 100;
int *p = &a;
TEST t = {1, 2, 'a'};
TEST *pT = &t;
printf("%d\n", t.a);
printf("%d\n", (*pT).a);
// 高能: -> 指向操作符
printf("%d\n", pT->a);
// 变量名.成员变量
// (*地址).成员变量
// 地址->成员变量
    // 这三种变量形式都是一样的




TEST t1 = {2, 2, 'b'};
TEST t2 = {3, 3, 'c'};
TEST ttt[] = {t, t1, t2};
// 结构体数组的指针遍历
for (int i = 0; i < 3; i++) {
    TEST *tt = ttt + i;
    // ttt[i].a
    // (*(ttt + i)).a
    // (ttt + i)->a
    printf("%d %f %c\n", tt->a, tt->b, tt->c);//
}





return 0;

}