C:指针与结构
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。 |
1.结构体指针 void date() { struct date { int month; int day; int year; }; struct date today,*datePtr; datePtr=&today; datePtr->month=5; datePtr->day=21; datePtr->year=2008; printf("Today's date is %i/%i/%.2i\n",today.month,today.day,today.year%100); printf("Today's date is %i/%i/%.2i\n",datePtr->month,datePtr->day,datePtr->year%100); } struct date today;//声明一个结构体变量 struct date *datePtr;//声明一个结构体指针 datePtr=&today;//对指针赋值 //通过变量获得结构体成员 today.month today.day today.year //通过指针获得结构体成员 datePtr->month datePtr->day datePtr->year 2.结构体中包含指针 void struct_ptrs() { struct intPtrs { int *p1; int *p2; }; struct intPtrs ptrs; int i1=100,i2; ptrs.p1=&i1; ptrs.p2=&i2; *ptrs.p2=-97; printf("i1=%i,*ptrs.p1=%i\n",i1,*ptrs.p1); printf("i2=%i,*ptrs.p2=%i\n",i2,*ptrs.p2); } p1为结构体intPtrs中的一个整型变量, ptrs.p1=&i1;//对p1赋值 *ptrs.p1//取出p1所指向的整型数的值 3.链表 struct linkedlist { int value; struct linkedlist *next; }; void traversal() { struct linkedlist n1,n2,n3; struct linkedlist *listPtr; n1.value=1; n2.value=2; n3.value=3; n1.next=&n2; n2.next=&n3; n3.next=NULL; listPtr=&n1; while(listPtr!=NULL){ printf("%i\n",listPtr->value); listPtr=listPtr->next; } } 本文出自 “子 孑” 博客,转载请与作者联系! 本文出自 51CTO.COM技术博客 |



zhangjunhd
博客统计信息
热门文章
最新评论
友情链接

