//
// 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;
}