这是有声音的视频,请检查播放器或者声音输出设备。

这次学习的内容:linux_C语言_11 结构体,共同体,枚举类型,typedef定义类型

//=============================================================

#include <stdio.h>
#include <string.h>

struct student
{
int num;
char name[25];
int age;
}stu1, stu2;

main()
{
stu1.num=1;
//stu1.name="Zhan";
strcpy( stu1.name, "张三" );
stu1.age=30;

printf( "%d - %s - %d\n", stu1.num,stu1.name,stu1.age );
}

---------------------

struct student
{
int num;
char name[25];
int age;
}stu1={2, "李四", 40};

//==========================================================
结构体数组

#include <stdio.h>

struct student
{
int num;
char name[25];
int age;
}stu[3]={
{1,"张三",40},
{2,"李四",30},
{3,"王五",33}
};

main()
{
int i;
for(i=0;i<3;i++)
{
printf( "%d - %s - %d\n", stu[i].num,stu[i].name,stu[i].age );

}
}

--------------------------------
改成用指针 访问结构体数组

main()
{
struct student *p;
for( p=stu; p<stu+3; p++ )
{
printf( "%d - %s - %d\n", p->num,p->name,p->age );
}

}

//=====================================================
共同体

几种不同类型的变量存放到同一段内存单元中,不能对共同体初始化

#include <stdio.h>

union data1 /*共同体*/
{
int i;
float f;
char ch;
};

main()
{
printf("%d\n",sizeof(union data1));

printf( "%d ,%d ,%d \n", sizeof(int),sizeof(float),sizeof(char) );

union data1 d1;
d1.i = 100;
d1.ch = 'a';
printf( "%c \n", d1.i );
}

//=======================================================
枚举类型

枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值

#include <stdio.h>

main()
{
enum weekday
{
sun,mon,tue,wed,thu,fri,sat
} a,b,c;

a=sun;
b=mon;
c=tue;

printf( "%d,%d,%d \n",a,b,c );
}

--------------
a=0;b=1; 是错误的。sun=5;mon=2;sun=mon; 也是错误的

枚举元素本身由系统定义了一个表示序号的数值,从0 开始顺序定义为0,1,2…。

在weekday中,sun值为0,mon值为1, …,sat值为6。

//========================================================

typedef 定义类型

#include <stdio.h>

main()
{
typedef int INTEGER;

INTEGER a = 100;

printf( "%d \n" , a );
}

视频就到这里结束了, 88


“linux_C语言_11 结构体,共同体,枚举类型,typedef定义类型”没有评论

有任何疑问或建议,可以给作者留言:



公告:

  • 2010年5月之前的视频是文字解说演示,没有声音。
  • 2010年5月以后的视频全部带声音。