关闭

王老师 结构体 第一讲

1496人阅读 评论(0) 收藏 举报

一种数据类型,由多个分量构成,共同描述一个对象.

声明语法:

struct 类型名

{

 分量类型1 分量名1;

 ...

 分量类型n 分量名n;

};

结构型变量定义: struct 结构类型名 变量名;

分配内存: 按结构定义的顺序,分配各个分量,可能有空白区.

示例函数代码:

#include "stdio.h"

/*
* 结构体:日期类型
*/
struct date
{
 int y, m, d;
};

/*
* 结构体:学生
*/
struct student
{
 int id;
 char name[20];
 struct date birthday;
};

/*
* 复数
*/
struct complex
{
 int real;
 int imaginary;
};

complex add(complex a, complex b)
{
 a.imaginary += b.imaginary;
 a.real += b.real;
 return a;
}

complex add(complex * a, complex * b)
{
 a->imaginary += b->imaginary;
 a->real += b->real;
 return *a;
}

void main()
{
 /*
 * 测试一下sizeof函数
 */
 int x = 3;
 printf("%d/n", sizeof(x));
 printf("%d/n", sizeof(x = 4));
 printf("%d/n", x);

 /*
 * 使用struct
 */
 struct complex a, b, c;
 a.real = 1;
 a.imaginary = 2;

 b.real = 1;
 b.imaginary = 3;

 c = add(a, b);
 printf("%d, %d/n", a.real, a.imaginary);
 printf("%d, %d/n", c.real, c.imaginary);
 
 c = add(&a, &b);
 printf("%d, %d/n", a.real, a.imaginary);
 printf("%d, %d/n", c.real, c.imaginary);
}

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1044032次
    • 积分:15023
    • 等级:
    • 排名:第784名
    • 原创:419篇
    • 转载:222篇
    • 译文:0篇
    • 评论:78条
    最新评论
    Learning