数据结构
来源:互联网 发布:淘宝网免单 编辑:程序博客网 时间:2024/05/21 20:21
1、结构体
#include <stdio.h>
#include <string.h>// struct 是一个C语言的一个关键字,用来声明一个结构体类型
// 声明了一个名字叫 student 的结构体类型
// 有两个成员,分别是整型的 id(学号) 字符数组 name(名字)
// struct 只是声明了这样一种数据类型,和普通的数据类型比如int、char
// 一样本身是没有分配空间的,只有在定义变量的时候才会为变量分配空间
struct student
{
int id;
char name[20];
}; //用struct 声明类型的时候要有 ;号,和函数相区分
#if 0
// 变量定义2:直接在结构类型声明的时候定义变量
struct teacher
{
int id;
char name[20];
}t1,t2; // 定义了两个老师的变量 变量名叫 t1、t2
// 变量定义3:结构类型可以不要名字,也就是说不能在其他地方使用了
// 只能在类型声明的时候定义变量
struct
{
int a;
int b;
}a, b; // 定义结构体变量a和b
//
int main()
{
// 结构体的变量定义
// 定义了一个student结构体变量 变量名叫 stu
// 用结构体定义变量的时候,类型要写完整,struct 关键字不能丢
// student stu2; struct 不能丢
struct student stu;
return 0;
}
#endif
// 结构体变量的初始化和成员使用
int main1()
{
// 定义结构体变量并且初始化
struct student stu = {1234, "xiaoming"};
struct student stu2 = {.name="xiaohong", .id=1234};
// 结构的成员变量的使用,结构变量使用成员变量,需要点 . 指明使用的是哪一个成员
printf ("id = %d, name = %s\n", stu.id, stu.name);
}
int main()
{
struct student stu;
// 结构体变量使用
stu.id = 1224;
strcpy(stu.name, "hello");
printf ("id = %d, name = %s\n", stu.id, stu.name);
}
2、共用体
#include <stdio.h>
// union是C语言的关键字,用来声明一个共用体类型
union A
{
char ch;
int a;
};
int main()
{
union A a;
a.a = 5;
a.ch = 1;
printf ("%p, %p, %p\n", &a, &a.a, &a.ch);
//printf ("%d\n", a.a);
//printf ("%d\n", sizeof(union A));
unsigned int b = 0x12345678;
char *p = (char *)&b;
printf ("%x\n", *p);
printf ("%x\n", *(p+1));
printf ("%x\n", *(p+2));
printf ("%x\n", *(p+3));
return 0;
}
3、枚举
#include <stdio.h>
// union是C语言的关键字,用来声明一个共用体类型
union A
{
char ch;
int a;
};
int main()
{
union A a;
a.a = 5;
a.ch = 1;
printf ("%p, %p, %p\n", &a, &a.a, &a.ch);
//printf ("%d\n", a.a);
//printf ("%d\n", sizeof(union A));
unsigned int b = 0x12345678;
char *p = (char *)&b;
printf ("%x\n", *p);
printf ("%x\n", *(p+1));
printf ("%x\n", *(p+2));
printf ("%x\n", *(p+3));
return 0;
}
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- spark Job执行流程
- php表单处理基本方法
- elementary os中WPS Office的安装方法
- 真·板子
- activiti 的使用
- 数据结构
- 关于python的计算方式
- Nexus3搭建Maven私有库(一)
- 13读书笔记之研究碎片
- 怎样让你的网页更快的被搜索到
- 699 - The Falling Leaves
- map and pair (1)
- Android高效加载大图、多图解决方案,有效避免程序OOM
- a标签没有disabled属性