1
#include
<
stdio.h
>
2
3
struct
llist
4
{
5
int
num;
6
char
name[
10
];=>改成:string name;
7
struct
llist
*
next;
8
}
;
9
typedef
struct
llist node;
10
typedef node
*
llink;
11
12
13
/**/
/*
链表的创建
*/
14
llink createllist()
15
{
16
llink head;
17
llink ptr,ptr1;
18
int
i;
19
20
head
=
(llink)malloc(
sizeof
(node));
//
分配第一个节点 =>head=new node
21
if
(
!
head)
22
return
NULL;
23
printf(
"
请输入六项邮寄数据:\n
"
);
24
printf(
"
请输入编号 ==>
"
);
25
scanf(
"
%d
"
,
&
head
->
num);=>
cin>>head->num;
26
printf(
"
请输入编号(%d)的姓名 ==>
"
,head
->
num);
27
scanf(
"
%s
"
,head
->
name);=>改成:cin.sync();string lname; cin>>lname;head->name=lname;
28
head
->
next
=
NULL;
29
ptr
=
head;
30
for
(i
=
1
;i
<
6
; i
++
)
31
{
32
ptr1
=
(llink)malloc(
sizeof
(node));=>ptr1
=new node
;
33
if
(
!
ptr1)
34
return
NULL;
35
printf(
"
请输入编号 ==>
"
);
36
scanf(
"
%d
"
,
&
ptr1
->
num);=>cin>>ptr1->num;
37
printf(
"
请输入编号(%d)的姓名 ==>
"
,ptr1
->
num);
38
scanf(
"
%s
"
,ptr1
->
name);=>
cin.sync();string lname; getline(cin,lname);head->name=lname;
39
ptr1
->
next
=
NULL;
40
ptr
->
next
=
ptr1;
41
ptr
=
ptr
->
next;
42
}
43
return
head;
44
}
45
46
/**/
/*
链表的节点遍历
*/
47
llink findnode(llink head,
int
num)
48
{
49
llink ptr;
50
51
ptr
=
head;
52
while
(ptr
!=
NULL)
53
{
54
if
(ptr
->
num
==
num)
55
return
ptr;
56
ptr
=
ptr
->
next;
57
}
58
return
ptr;
59
}
60
61
62
void
main()
63
{
64
llink head;
65
llink ptr;
66
int
num;
67
68
head
=
createllist();
69
if
(
!
head)
70
{
71
printf(
"
内存分配失败!\n
"
);
72
exit(
1
);
73
}
74
while
(
1
)
75
{
76
printf(
"
请输入要寻找的邮寄编号 ==>
"
);
77
scanf(
"
%d
"
,
&
num);
78
if
(num
!=
0
)
79
{
80
ptr
=
findnode(head,num);
81
if
(
!
ptr)
82
printf(
"
没有找到\n
"
);
83
else
84
printf(
"
姓名:%s\n
"
,ptr
->
name);
85
}
86
else
87
exit(
1
);
88
}
89
}

2

3

4



5

6

7

8

9

10

11

12

13


14

15



16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31



32

33

34

35

36

37

38

39

40

41

42

43

44

45

46


47

48



49

50

51

52

53



54

55

56

57

58

59

60

61

62

63



64

65

66

67

68

69

70



71

72

73

74

75



76

77

78

79



80

81

82

83

84

85

86

87

88

89

我们将代码做相应红色的改动。将结构体的name的类型改成string。我们必须注意到以下几点:
1.
我们用cin输入num之后,我们又用cin输入lname(cin>>lname或者getline(cin,lname))。在这之前我们需要调用cin.sync()(清空缓存区)或者fflush(stdin)(清空缓存区)或者getchar()(读取一个字符),因为上一次输入num之后还有一个回车字符留在stdin流中,影响lname的读取,lname会直接被读取为回车。
2.
第20行以及32行,如果结构体name的类型是string,而我们分配内存的方式是malloc的话程序回报错。没有初始 化,name的内存地址有问题,没法用head->name=lname来给其赋值。这时我们应该使用new。两者之间的不同:
- malloc和free是C语言的标准库函数,而new和delete是C++的运算符。他们都是用于申请动态内存和释放内存
- 对于非内部数据类型 的对象而言,用maloc和free无法满足动态对象的要求。对象在创建的同时要求自动执行构造函数,消亡时自动执行析够函数。由于两者是库函数不是运算符,不再编译器控制范围内,没法把执行构造和析构函数的任务给malloc和free。
- 运算符new能完成动态内存分配和初始化 的工作。delete能完成清理和释放内存的工作。
- malloc和free仍然保存的原因:C++程序经常调用C程序,C程序只能使用这两个函数来管理动态内存。
- 两者之间的其他不同:new不需要头文件,malloc需要头文件库函数支持。new建立的是一个对象 ,而malloc分配的是一个内存。正因为new建立的是一个对象,所以才会调用对象里面的构造函数来进行初始化。malloc仅仅只能分配内存,free仅仅回收内存。
3.
exit():参数为零时表示正常退出,参数非零时表示非正常退出。
4.
在c++中不能用加法操作符将两个字符串字面值相加
,语法错误。
5.
getch()和getchar()的区别:前者当你敲击某个键的时候就立即返回了,正常情况下读取的是你敲击的符号。后者可接受多个字符,直到回车才返回,但是第一个字符作为函数的返回值。使用功能之一:scanf()函数在输入时以回车作为结束的标志。但是并没有接受这个回车键,getchar()则用来接收这个回车键。如果缺省,将会影响下面的scanf()语句。因为如果不是用getchar()接收则下面的scanf()将首先接收到这个回车符号,将会导致一些列错误。当然我们也可以使用getch()来实现这个目的。
发表评论
-
set容器的反向迭代器
2013-05-02 16:56 3758#include <iostream> #in ... -
对于CRITICAL_SECTION用法的介绍和理解[转]
2013-04-08 11:50 2196很多人对CRITICAL_SECTION ... -
二维数组知识
2012-09-15 17:20 825二维数组和指针⑴ 用 ... -
Realloc的使用
2012-08-14 11:04 835realloc 用过很多次了。 ... -
extern C的由来
2012-08-09 10:14 704时常在cpp的代码之中看到这样的代码: #ifdef ... -
C++类对象的创建过程
2012-07-26 16:02 945分配空间(Allocation) ... -
静态数据成员和静态成员函数
2012-07-26 15:04 3120静态类成员包括静态数据成员和静态函数成员两部分。 与 ... -
复制构造函数(拷贝构造函数)以及深浅拷贝
2012-07-25 22:39 1439对于普通对象而言复制是很简单的,一般是将变量或者常量赋值给某 ... -
cin、cin.get、cin.getline()、getline()、gets()的用法【转】
2012-07-24 20:05 837学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了 ... -
堆、栈解疑
2012-07-12 21:53 592一、预备知识—程序的内存分配 一个由C/C++编译的程序 ... -
指针和内存分配的深度理解
2012-07-12 18:57 1038一 :关于指针和堆的内存分配 先来介绍一下指针: 指针一种 ... -
数组指针和指针数组
2012-07-12 18:56 1191先看一下基本的形式,我们从这里起步! ----------- ... -
const指针和指向const的指针
2012-07-12 10:30 2128指向const对象的指针 ... -
typedef的学习
2012-07-11 15:03 748typedef,顾名思义,为“类型定义”,可以解释为:将一种数 ... -
函数指针和指针函数
2012-07-11 11:21 605【函数指针】 ... -
Define学习
2012-07-11 10:12 1081宏替换是C/C++系列语言的技术特色,C/C++语言提 ... -
sizeof 深研
2012-07-11 09:39 6761、什么是sizeof 首先看一下sizeof ... -
内存对齐问题
2012-07-10 22:35 11031.内存数据对齐的原因: 无论如何,为了提高程序的性 ... -
指针深究
2012-07-09 21:55 599在说指向指针的指针之前,不得不说指向变量的指针。先看如下示例: ... -
C语言文件使用方式详解
2012-07-04 10:23 773文件的打开(fopen函数) f ...
相关推荐
新版Android开发教程&笔记--基础入门一 新版Android开发教程&笔记--基础入门二 新版Android开发教程&笔记三--环境搭建与解析 新版Android开发教程&笔记四--Dalvik ADB 新版Android开发教程+笔记五--模拟器、应用1、2...
S7-200 Smart入门笔记1-8 程序合集 S7-200 Smart入门笔记1——流水灯 按钮 S7-200 Smart入门笔记1——流水灯 定时器 S7-200 Smart入门笔记2——读时钟 S7-200 Smart入门笔记3——呼吸灯 S7-200 Smart入门笔记4——...
《2D游戏编程笔记——DirectX库的使用》是一篇深入浅出地讲解DirectX库在2D游戏编程中应用的教程。作者蒋志强以轻松的写作风格,详细介绍了DirectX库,尤其是DirectDraw组件的使用。这篇文章适合已经有一定C++编程...
QT高级编程视频教程是针对那些想要...同时,提供的"QT高级编程视频教程-最强初级到高级编程开发丁林松--QT高级编程视频教程-最强初级到高级编程开发.txt"文本文件,很可能是课程大纲或者笔记,可以作为辅助学习的资料。
倍福BECKHOFF PLC:自动化编程笔记(一)对应的程序实例,实现流程顺序控制 - 流水灯。借助CASE OF语法(类似与C语言的 switch case) + 信号上升沿功能块。
新版Android开发教程&笔记--基础入门一.pdf 新版Android开发教程&笔记--基础入门二.pdf 新版Android开发教程&笔记三--环境搭建与解析.pdf 新版Android开发教程&笔记四--Dalvik ADB.pdf 新版Android开发教程+笔记五--...
《WebGL编程指南》学习笔记webgl-study-notes
【Python学习笔记--皮大庆.pdf.zip】是一个针对初学者的Python编程教程,源自英文书籍《How to think like a computer scientist》。这本书以易懂的方式介绍了Python语言的基础知识,旨在帮助没有编程背景的人快速...
读书笔记----ARM汇编_编程.zip
《游戏编程笔记-起步3-贪吃蛇游戏源代码》 贪吃蛇是一款经典的游戏,它的设计简单却富有挑战性,深受玩家喜爱。本篇笔记将深入探讨如何使用C++和Visual Studio 2008(以下简称VS2008)来实现一个简易的贪吃蛇游戏。...
Python核心编程笔记-.pdf
单片机听课笔记 1-8 课是金沙滩工作室 2014 年更新的单片机学习笔记,涵盖了单片机的基础知识、KEIL 软件安装、单片机编程、硬件基础学习等方面的内容。 Lesson 1 讲解了 KEIL 软件的安装和基本配置,包括安装 ...
尚硅谷康师傅java学习笔记。 、2020-4-5 java学习笔记 2020-4-6 java笔记 ---内部类 2020-4-6 java笔记 ---异常 ...2020-4-19 java 网络编程 2020-4-21 java反射 2020-4-22 java8 新特性 2020-4-27 单元测试
新版Android开发教程&笔记--基础入门一 新版Android开发教程&笔记--基础入门二 新版Android开发教程&笔记三--环境搭建与解析 新版Android开发教程&笔记四--Dalvik ADB 新版Android开发教程+笔记五--模拟器、应用1、2...
python1903笔记 02-网络编程.zip
新版Android开发教程&笔记--基础入门一.pdf 新版Android开发教程&笔记--基础入门二.pdf 新版Android开发教程&笔记三--环境搭建与解析.p 新版Android开发教程&笔记四--Dalvik ADB.pdf 新版Android开发教程+笔记...
新版Android开发教程+笔记07--基础UI编程1 新版Android开发教程+笔记08--基础UI编程2 新版Android开发教程+笔记09--基础UI编程3 新版Android开发教程+笔记10--基础UI编程4 新版Android开发教程+笔记11--可视化UI设计...
有七个阶段:第1阶段C++ 匠心之作 从0到1入门,第2阶段实战-通讯录管理,第3阶段-C++核心编程 资料,第4阶段实战-基于多态的企业职工系统,第5阶段-C++提高编程资料,第6阶段实战-基于STL泛化编程的演讲比赛资料,第...
Android开发教程+笔记十-基础UI编程4.pdf
标题中的“读书笔记软件 编程笔记 学习笔记”暗示了这个软件是专为记录、整理和检索读书、编程及各类学习过程中的知识而设计的。它可能包含以下核心功能: 1. **多类型笔记**:软件允许用户创建不同类型的笔记,...