C 学习笔记摘录十.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C 学习笔记摘录十

C++学习笔记 SkySeraph 2010-7-31 阅读整理 摘自:/space.php?uid=1do=blogview=meclassid=7page=2 : #include iostream using namespace std; struct Book//定义一个结构体。 名字为book 由于结构体他默认都是共有的 所以不用写公开了 { ?int num; ?float price; ?struct Book *next;//这里的BOOK就是 struck 类型的结构 。后面是一个指向book 的指针。而这个指针就可以访问到 book类或者book类的成员 }; void main() { ?Book x,y,z,*head,*p; ?x.num=10000; ?x.price=30.5f;//如果不说明为浮点型 那么他会默认为为双精度型。 ?y.num=20000; ?y.price=24.2f; ?z.num=30000; ?z.price=16.7f; ?head=x;//让HEAD指针指向 book的第一个成员地址。也就是头节点 ?x.next=y;//让x.next 指向下一个节点。 ?y.next=z; ?z.next=NULL;//由于z是最后一个节点 他下面已经没有了 所以要给他定义为空 说明下 ?p=head; ?while (p!=NULL)//当P不等于 为结点? 也就是 空的时候 ?{ ??coutp-numendlp-priceendl;//输出数据 ??p=p-next;//调到下一节点 这样 x就会变成y。 ?} }//这就是结构体链表 2: #include iostream using namespace std; class Book//上一节是在结构体中的链接,而要改成类的 只需要把 struct 改成class就可以了 { public://这里要申明公开 ?int num; ?float price; ?Book *next;//吧前面的strcut 去除就可以了 }; void main() { ?Book x,y,z,*head,*p; ?x.num=10000; ?x.price=30.5f; ?y.num=20000; ?y.price=24.2f; ?z.num=30000; ?z.price=16.7f; ?head=x; ?x.next=y; ?y.next=z; ?z.next=NULL; ?p=head; ?while (p!=NULL) ?{ ??coutp-numendlp-priceendl; ??p=p-next; ?} } 3: #include iostream using namespace std; struct Book//动态分配:我们可以在需要下一结点的时候才来调用就是动态分配 { ?int num; ?float price; ?struct Book *next; }; void main() { ?int *p=malloc(sizeof(Book));//malloc 是创建一个需要多少空间的函数 sizeof 是获取book 的空间大小 这样就可以创建一个可以容纳book结构的空间 ?free(p);//free 相当于 delete.以上两行代码是C语言中的 标准函数库的调用格式 ?int *p=new Book; ?delete p;//这里是C++的操作符 。他们是不同的 当然 C++中的 类的创建是不能用在C语言中去的。 } 4: #include iostream using namespace std; class Book { public: ?int num; ?float price; ?Book *next; }; Book* head=NULL;//创建一个指向book的指针head 并且让它为空。避免误操作 Book* creat() { ?Book *p1,*p2; ?p1=new Book;//开辟空间。必须留下不开辟空间就对他进行判断会出问题 ?/*??? 。教程上面的全部源代码包含以下操作,但是我发现很多都是重复的。所以直接把这里注释起来都可以了。这样可以以更好的方式运算。 ?head=p1; ?p2=p1;//让他们指向的地址都是第一节点 ?cout请输入图书的编号,以0结束。; ?cinp1-num;//把输入的编号保存到这个指针里面 ?if (p1-num!=0) ?{ ??cout请输入图书的价格:; ??cinp1-price; ?} ?else ?{ ??delete p1;//如果输入为0 就要删除和把其他指针都赋值为空。 ??p2=NULL; ??p2-next=N

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档