Linux c基础之(五) 结构体

1.   结构体

(1)结构定义:是一种构造类型,它是由若干成员组成的。每一个成员可以是一个基本数据类型或者又是一个构造类型

(2)结构体声明:

struct 结构名                            

成员列表;

};

(3)声明与使用实例

格式1:

#include "stdafx.h"

struct in

{

int a;

char *b;

 

};

 

int _tmain(int argc,_TCHAR* argv[])

{

    struct in i;

    i.a=5;

    i.b="fga";

    printf("%d,%s\n",i.a ,i.b);

    struct in i1;

    i1.a=6;

    i1.b="gdf";

    printf("%d,%s\n",i1.a ,i1.b);

    struct ini3={9,"林彦俊"};

    printf("%d,%s\n",i3.a ,i3.b);

    return 0;

}

格式2:

#include "stdafx.h"

struct in

{

int a;

char *b;

} i,i1;

 

int _tmain(int argc,_TCHAR* argv[])

{

    i.a=5;

    i.b="fga";

printf("%d,%s\n",i.a ,i.b);

    i1.a=6;

    i1.b="gdf";

    printf("%d,%s\n",i1.a ,i1.b);

    struct ini3={9,"林彦俊"};

    printf("%d,%s\n",i3.a ,i3.b);

    return 0;

}

格式3:

#include "stdafx.h"

struct

{

int a;

char *b;

} i,i1;

 

int _tmain(int argc,_TCHAR* argv[])

{

    i.a=5;

    i.b="fga";

printf("%d,%s\n",i.a ,i.b);

    i1.a=6;

    i1.b="gdf";

    printf("%d,%s\n",i1.a ,i1.b);

  

    return 0;

}

2. 结构体里定义函数并调用实例

 #include "stdafx.h"

struct in

{

int a;

char *b;

 

void show()

{

printf("%s的学号是:%d\n",b,a);

}

} i,i1;

 

int _tmain(int argc,_TCHAR* argv[])

{

   

    i.a=5;

    i.b="fga";

    i.show();

    i1.a=6;

    i1.b="gdf";

    i1.show();

    struct ini3={9,"林彦俊"};

    i3.show();

    return 0;

}

3. 嵌套结构体

结构体的成员可以是另一个结构体,即结构体可以嵌套定义。

例如:计算在坐标中一条直线长度的平方

  #include "stdafx.h"

struct stu

{

int a;

int b;

};

struct stu1

{

struct stu a1;

struct stu b1;

void show()

{

    printf("距离的平方为%d",(b1.a-a1.a)*(b1.a-a1.a)+(b1.b-a1.b)*(b1.b-a1.b));

}

};

struct complx

{

 int real;

 int im;

 

};

 

int _tmain(int argc,_TCHAR* argv[])

{

 

    struct stu1stu1;

    stu1.a1.a=10;

    stu1.a1.b=10;

    stu1.b1.a=20;

    stu1.b1.b=20;

    stu1.show();

    return 0;

}

 

 

 

 

 

 


猜你喜欢

转载自blog.csdn.net/sinat_40900884/article/details/79757863