Chinaunix首页 | 论坛 | 博客
  • 博客访问: 891197
  • 博文数量: 286
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1841
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-09 16:26
文章分类

全部博文(286)

文章存档

2016年(38)

2015年(248)

我的朋友

分类: LINUX

2015-07-23 16:33:35

struct 的定义和使用
点击(此处)折叠或打开

  1. /*************************************************************************
  2.     > File Name: 5-3.c
  3.     > Author: sheepbao
  4.     > Mail: 13116160592@163.com
  5.     > Created Time: 2015年07月23日 星期四 15时34分01秒
  6.  ************************************************************************/

  7. #include<stdio.h>
  8. #include<string.h>
  9. int main()
  10. {
  11.     struct student //define struct name
  12.     {    // struct member
  13.         int number ;
  14.         char name[20];
  15.         char sex;
  16.         int age;
  17.         char addr[30];

  18.     };
  19.     //define struct var
  20.     struct student s[3]={ { 10000,"zhangsan",'m',10,"china"},{10001,"lisi",'w',3,"us"} };
  21.         s[2].number=1002;
  22.         s[2].sex='m';
  23.         s[2].age=23;
  24.         strcpy(s[2].name,"haha");
  25.         strcpy(s[2].addr,"xianshi");
  26.         int i;
  27.         for (i=0;i<3;i++)
  28.         {
  29.             printf("%d,%s,%c,%d,%s\n",s[i].number,s[i].name,s[i].sex,s[i].age,s[i].addr);
  30.         
  31.         }
  32.     struct student *p;
  33.             
  34.     for (p=s;p<s+3;p++)
  35.             printf("%d,%s,%c,%d,%s\n",p->number,p->name,p->sex,p->age,p->addr);
  36.         return 0;
  37.         

  38. }
结构体的长度用sizeof求,其长度和边界对齐有关系

点击(此处)折叠或打开

  1. #include<stdio.h>

  2. int main()
  3. {
  4.     struct data
  5.     {
  6.         long        l;
  7.         char        *s;
  8.         short int    i;
  9.         char        c;
  10.         short int    a[5];
  11.     }d;

  12.     struct data *p = &d;
  13.     
  14.     printf("%d\n",sizeof(d));
  15.     printf("%x\t%x\n",p,p+1);
  16.     printf("%x\t%x\n",p,(char *)p+1);
  17.     printf("%x\t%x\n",p,(long *)p+1);

  18.     return 0;
  19. }



阅读(1093) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~