Sian 发表于 2014-3-6 15:20:36

结构体类型指针

本帖最后由 Sian 于 2014-3-6 15:22 编辑

/*
1、结构体很大程序上与数组类似,因此结构体的地址与结构体中第一个成员的地址一致;
2、结构体指针定义方式类型于基本数据类型指针 类型名 *变量名;
3、结构体指针访问结构体成员数据;
*/
#include <stdio.h>

int main() {
    // 定义结构体类型并定义结构体变量boy
    struct Person {
         char *name;
         int age;         
         } boy;

    // 给结构体变量boy赋值;      
    boy.name = "kimi";
    boy.age = 4;

    // 输出结构体boy的地址与结构体第一个成员地址;
    printf("%p,%p\n", &boy, &boy.name);

    // 定义结构体指针p并指向结构体boy;
    struct Person *p = &boy;

    // 结构体成员的常见访问方式:
    printf("%s, %d\n", boy.name, boy.age);

    // 结构体指针访问成员方式一;
    printf("%s, %d\n", (*p).name, (*p).age);

    // 结构体指针访问成员方式二;(使用频率较高)
    printf("%s, %d\n", p->name, p->age);
   
    system("pause");
    return 0;
    }输出结果:0022FF40,0022FF40
kimi, 4
kimi, 4
kimi, 4
请按任意键继续. . .




页: [1]
查看完整版本: 结构体类型指针