结构体赋值的几种方法

#include <stdio.h>
typedef struct book
{
 char name[10];
 int page; 
 char author[10];
 double price; 
}Book;
typedef struct lib
{
 Book arr[100];
}Lib;
int main()
{
 Lib my_lib;
 int i=3;
 my_lib.arr[0].page=1;
// my_lib.arr[i].page=3;
        my_lib.arr->page;//数组名表示的是第一个元素的地址
 (*((my_lib.arr)+i)).page=3;
// ((my_lib.arr)+i)->page=3;
 printf("%d\n",my_lib.arr[3].page);
 //my_lib.(arr+i)->page;这种表示是错误的,my_lib.arr 是一个整体不能分割
 return 0;
}

posted @ 2012-08-14 16:29  it_xls  阅读(1801)  评论(0编辑  收藏  举报