随笔分类 -  C/C++

C/C++编程技术
c++中const的应用
摘要:面向对象是C++的重要特性. 但是c++在c的基础上新增加的几点优化也是很耀眼的就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重1. const常量,如const int max = 100; 优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误(边际效应)2. const 修饰类的数据成员。如: class A{ const int size; … }const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的。因为类可以创建多.. 阅读全文
posted @ 2011-12-07 00:58 风行雪舞 阅读(253) 评论(0) 推荐(0)
C语言条件编译及编译预处理阶段
摘要:一、C语言由源代码生成的各阶段如下:C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件 其中编译预处理阶段,读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。或者说是扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。预处理过程先于编译器对源代码进行处理。 在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预 处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入 阅读全文
posted @ 2011-12-07 00:58 风行雪舞 阅读(309) 评论(0) 推荐(0)
C语言system函数用法
摘要:system()函数用于向操作系统传递控制台命令行,以WINDOWS系统为例,通过system()函数执行命令和在DOS窗口中执行命令的效 果是一样的,所以只要在运行窗口中可以使用的命令都可以用SYSTEM()传递,但要注意的是输入斜线时要输入两个,以名C语言当作转义字符处理。 system函数 是可以调用一些DOS命令,比如system("cls");//清屏,等于在DOS上使用cls命令,写可执行文件路径,可以运行它···· 下面列出常用的DOS命令,都可以用system函数调用:ASSOC 显示或修改文件扩展名关联。 AT 计划 阅读全文
posted @ 2011-12-07 00:52 风行雪舞 阅读(1857) 评论(0) 推荐(0)
链表的C语言实现之单链表的实现
摘要:一、单链表的建立 有了动态内存分配的基础,要实现链表就不难了。 所谓链表,就是用一组任意的存储单元存储线性表元素的一种数据结构。链表又分为单链表、双向链表和循环链表等。我们先讲讲单链表。所谓单链表,是指数据接点是单向排列的。一个单链表结点,其结构类型分为两部分: 1、数据域:用来存储本身数据 2、链域或称为指针域:用来存储下一个结点地址或者说指向其直接后继的指针。 例: typedef struct node { char name[20]; struct node *link; }stud; 这样就定义了一个单链表的结构,其中char name[20]是一个用... 阅读全文
posted @ 2011-12-07 00:21 风行雪舞 阅读(330) 评论(0) 推荐(0)
链表的建立、插入和删除
摘要:数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不能在程序中进行调整,这样一来,在程序设计中针对不同问题有时需要3 0个大小的数组,有时需要5 0个数组的大小,难于统一。我们只能够根据可能的最大需求来定义数组,常常会造成一定存储空间的浪费。我们希望构造动态的数组,随时可以调整数组的大小,以满足不同问题的需要。链表就是我们需要的动态数组。它是在程序的执行过程中根据需要有数据存储就向系统要求申请存储空间,决不构成对存储区的浪费。链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表、循环链表、双向链 阅读全文
posted @ 2011-12-07 00:19 风行雪舞 阅读(1873) 评论(0) 推荐(0)
单向链表操作详解(一)
摘要:/*===============================================作者:rerli时间:2003-12-05目的:学习单向链表的创建、删除、 插入(无序、有序)、输出、 排序(选择、插入、冒泡)、反序说明:编译没有任何错误,能生成EXE文件。 这个程序TC2.0中编译生成的EXE文件, 在运行输入节点时出现以下错误(TC2.01中没有任何错误): scanf : floating point formats not linked Abnormal program termination 即:struct student中float score字段在输入时, 它不 阅读全文
posted @ 2011-12-07 00:16 风行雪舞 阅读(444) 评论(0) 推荐(0)
单向链表操作详解(二)[The End]
摘要:/*接着讲(测试编译时,请把相应的函数及测试代码放到上一讲代码的相关地方):排序(选择、插入、冒泡)插入(有序)*//*===============================================作者:rerli时间:2003-12-08目的:学习单向链表的创建、修改、删除、 插入(无序、有序)、输出、 排序(选择、插入、冒泡)、反序说明:编译没有任何错误,能生成EXE文件。 这个程序TC2.0中编译生成的EXE文件, 在运行输入节点时出现以下错误(TC2.01中没有任何错误): scanf : floating point formats not linked Abnorm 阅读全文
posted @ 2011-12-07 00:14 风行雪舞 阅读(295) 评论(0) 推荐(0)
重温经典排序思想--C语言常用排序全解
摘要:/*===============================================作者:rerli时间:2003-12-15目的:重温经典排序思想,并用C语言指针实现排序算法================================================*//*=============================================================================相关知识介绍(所有定义只为帮助读者理解相关概念,并非严格定义):1、稳定排序和非稳定排序简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之 阅读全文
posted @ 2011-12-07 00:13 风行雪舞 阅读(229) 评论(0) 推荐(0)
C语言编写linux下的守护进程
摘要:利用网上下载的这段代码,成功实现了守护进程,原来守护进程是很简单的事情。 在main函数中执行 1 init_daemon();//初始化为Daemon 2 3 就可以把进程变成守护进程 4 #include 5 #include 6 #include 7 #include 8 #include 9 10 void init_daemon(void)11 {12 int pid;13 int i;14 15 if(pid=fork())16 exit(0);//是父进程,结束父进程17 else if(pid< 0)18 exit(1);//fork失败,退出19 //是第一子进程... 阅读全文
posted @ 2011-12-07 00:11 风行雪舞 阅读(452) 评论(0) 推荐(0)
用C语言库(CGIC)编写CGI,实现文件上传
摘要:用C语言编写cgi程序的话,多半会用到CGIC。 这是个非常流行的库,遇到文件上传之类的应用更是离不开它。官方页面及下载地址为:www.boutell.com/cgic/#obtain不少网站都有文件上传的功能,本文展示如何用CGIC库编写文件上传的服务端程序,最后给出一段简单的HTML代码,供大家测试使用 。下载: upload.c#include<stdio.h>#include<string.h>#include<unistd.h>#include<fcntl.h>#include<sys/stat.h>#include&quo 阅读全文
posted @ 2011-12-06 23:29 风行雪舞 阅读(2949) 评论(0) 推荐(0)
C/C++库文件简介
摘要:其实,C/C++世界开始时并没有库这个概念,我们编写程序的时候,都是自己搞定一切:Coding,Compile,Link,生成一个可执行文件后载 入系统运行就可以了。但是,如果每个程序员都这样各自为政的话,将会导致大量的重复劳动。譬如,在很多程序中都需要输入输出的功能,按照现在这种状况,只 有每个程序员都自己重新开发这样的功能模块,这样效率之低下可想而知。于是,大家渴望能够进行代码重用:一些通用的代码最好能够由别人提供,我只需调用即 可。 那么,我们如何得到这些可重用的代码呢?首先我们想到可以让编译器自动为我们生成这些代码。我们只需调用这些函数,编译器解析到这些函数时,如C语言的 print. 阅读全文
posted @ 2011-12-06 23:15 风行雪舞 阅读(569) 评论(1) 推荐(1)

无觅相关文章插件,快速提升流量