经典算法_结构体

1 动态结构体

 1 #define _CRT_SECURE_NO_WARNINGS
 2
 3 #include<stdio.h>
 4 #include<stdlib.h>
 5
 6 struct dangdang
 7 {
 8     char email[30];
 9     char name[30];
10     char addr[100];
11     int num;
12     int bignum;
13     char tel[20];
14     char phone[20];
15     double rmb;
16 };
17
18 main()
19 {
20     struct dangdang *p = (struct dangdang *)malloc(sizeof(struct dangdang) * 10);
21     int i;
22     struct dangdang *px;
23
24     for (i = 0;i < 10;i++)//下标循环
25     {
26         sprintf(p[i].email, "[email protected]");
27         p[i].num = 100;
28         printf("%s,%d\n", p[i].email, p[i].num);
29     }
30
31     for (px = p;px < p + 10;px++)//指针循环px->email
32     {
33         sprintf(px->email, "[email protected]");
34         px->num = 100;
35         printf("%s,%d\n", px->email, px->num);
36     }
37
38     for (i = 0;i < 10;i++)//指针循环(*(p + i)).email
39     {
40         sprintf((*(p + i)).email, "[email protected]");
41         (*(p + i)).num = 100;
42         printf("%s,%d\n", (*(p + i)).email, (*(p + i)).num);
43     }
44
45     system("pause");
46 };
时间: 2024-08-23 23:31:42

经典算法_结构体的相关文章

Demo_张仕传_结构体考试-modify

/* 题目: //声明一个结构体类型 struct _AdvTeacher { char *name; char *tile; int age; char *addr; char *p1; //系统预留成员域 char **p2;//系统预留成员域 }; 要求定义一个结构体数组(6个元素),要求从键盘输入数据,并按照名称大小进行排序:打印输出. 1. 打印结构体数组,需要单独封装成函数:10 2. 排序结构体数组,需要单独封装成函数(按照名称进行排序):50 3. main函数中编写业务测试模型

第六章 二叉树【算法入门经典】【结构体指针】

运行效果图 结构体指针实现 #include<stdio.h> #include<stdlib.h> #include<string.h> #define N 10000 int failed,n,v,ans[N]; char s[N];//保存读入结点 typedef struct Node//结点类型 { int flag;//是否被赋值过 int number;//结点值 struct Node *left,*right;//左右子结点 }Node; Node *

29._结构体

结构体  为什么需要结构体   为了表示一些复杂的事物,而普通的的基本   类型无法满足实际要求 什么叫结构体   把一些基本数据类型组合在一起形成的一个   新的复合数据类型,这个叫做结构体 如何定义结构体   三种方式,推荐使用第一种 1 /* 2 2015年04月26日 14:21:45 3 目的: 4 结构体的定义 5 */ 6 7 # include <stdio.h> 8 9 //第一种方式 10 struct Student1 11 { 12 int age; 13 float

全国计算机等级考试二级教程-C语言程序设计_第14章_结构体、共用体和用户定义类型

例14.2 对比向函数传递结构体数组名和向函数传递结构体变量名的区别. 1 #include<stdio.h> 2 3 typedef struct 4 { 5 int num; 6 double mark; 7 }REC; 8 9 void sub1(REC x) 10 { 11 x.num = 23; 12 x.mark = 81.5; 13 } 14 15 void sub2(REC y[]) 16 { 17 y[0].num = 12; 18 y[0].mark = 77.5; 19

C语言基础_结构体

一.结构体 1)声明 struct 用来声明结构体 作用:管理多个数据信息 struct student{ int num; //成员变量之间用;隔开 int age; char name[30]; float score; }Student;//分号不要忘记 2) 初始化 1.设置初始值使用{} 2.按照成员变量的顺序赋值 3.可以不设置信息,使用{0} Student stu1={1,18,"luofeng",90.0}; Student stu2={2,81,"sunj

C零散_摘自C程序设计_结构体中.和-&gt;区别

结构体操作中.和->的区别: 1 struct student { 2 char name[60]; 3 int age; 4 } 5 6 struct student stu1; 7 struct student *stu2; 8 9 stu2 = &stu1; 10 stu1.age = 10; 11 stu2->age = 10; 以上都是对stu1中的age赋值为10,所以.是面向于结构体变量操作符,->是面向于结构体变量指针的操作符.

C++_系列自学课程_第_12_课_结构体

1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 6 struct CDAccount 7 { 8 double balance; //余额 9 double rate; //利息 10 int term; //存期 11 }; 12 13 struct Date 14 { 15 int year; 16 int month; 17 int day; 18 }; 19 20 struct Per

C编译器剖析_4.2 语义检查_表达式的语义检查(5)_结构体成员选择

4.2.5         成员选择运算符 在C语言中,结构体struct和联合体union被称为记录类型RecordType,在形如dt.a和ptr->a的后缀表达式中,运算符.和->被称为成员选择运算符.函数CheckMemberAccess()用于对这些表达式进行语义检查,与之相关的代码如图4.2.28所示.在表达式dt.a中,dt和a相当于是运算符.的两个操作数,dt对应的语法树结点的类型应是记录类型,图4.2.28第8行对此进行了判断:而在形如ptr->a的表达式中,ptr对应

经典算法_链表

1 创建一个链表,包含在尾部插入数据和输出的函数. 头文件linknode.h 源文件 源文件main.c 源文件linknode.c 2 创建一个链表,静态模式 3 创建一个链表,动态模式 1 创建一个链表,包含在尾部插入数据和输出的函数. 头文件linknode.h 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 struct student 5 { 6 int num; 7 float score; 8 struct studen