- 博客(191)
- 资源 (6)
- 收藏
- 关注
原创 指针类型的函数
若函数的返回值是指针,该函数就是指针类型的函数指针函数的定义形式:存储类型 数据类型 *函数名(){ //函数体语句}注意:· 不要将非静态局部地址用作函数的返回值1、错误的例子:在子函数中定义局部变量后将其地址返回给主函数,就是非法地址· 返回的指针要确保在主调函数中是有效、合法的地址1、正确的例子:主函数中定义的数组,在子函
2015-09-16 15:52:11 845
原创 以指针作为函数参数
什么时候需要用指针做参数1、需要数据双向传递时(引用也可以达到此效果)2、需要传递一组数据,只传首地址运行效率比较高 实参是数组名时形参可以是指针用指针作为函数的参数,可以使被调函数通过形参指针存取主调函数中实参指针指向的数据,实现数据的双向传递。
2015-09-16 09:30:57 771
原创 指针数组
指针数组:数组的元素是指针类型例: Point *pa[2];由pa[0]、pa[1]两个指针组成二维数组就是相当于由一维数组组成的二维数组,且构成二维数组的一维数组之间是依次连续存放的例: //三行三列矩阵 int line1[] = {1,0,0}; int line2[] = {0,1,0}; i
2015-09-15 15:01:50 410
原创 用指针访问数组元素
数组是一组连续存储的同类型数组,可以通过指针的算术运算,使指针一次指向数组的各个元素,进而可以遍历数组。定义指向数组元素的指针: ·定义与赋值: 例:int a[10],*pa; pa = &a[0];或 pa = a; 等效的形式: 1、经过上述定义及赋值后: *pa
2015-09-15 12:40:17 1207
原创 函数参数的传递(数组形参)
四、数组形参1、数组形参的定义如果要编写一个函数,输出int型数组的内容,可用下面三种方式指定数组形参:void printValues(int *){ /*...........*/ }void printValues(int [ ]){ /*........*/ }void printValues( int [10]) { /*..........*/ }虽然不能直接传
2013-08-29 16:25:59 5555
原创 函数参数的传递(引用)
二、引用形参 1、引用形参,将交换实参的值,因为引用是变量的别名。 对比:1、值传递(复制实参) void swap(int v1, int v2){ int temp =v1; v1=v2; v2=temp;}交换的是实参的局部副本,没有修改实参的值。2、引用传递(引用是实参的别名,所以就是实参本身,就会修改实参的值)vo
2013-08-28 17:50:05 1301
原创 函数参数的传递(复制实参的值)
一、非引用传递:用实参的副本初始化形参,函数没有访问调用所传递的实参本身,修改形参时不会影响到实参的值。 1、指针形参: 形参为指针时,将复制实参指针,调用函数时不会修改指针的值。但如果形参是非const类型的指针,函数可通过指针实现赋值,修改指针所指对象的值。 void reset(int *ip){ *ip = 0; // changes the
2013-08-28 15:31:35 1614
原创 实习记录
我主要完成了通过批处理文件实现以下功能:针对VSS(Visual SourceSafe)源码服务器上的某一特定源码文件夹实现1、命令行方式连接指定VSS源码服务器,下载指定项目的所有代码;2、命令行方式设置编译源码所需的环境变量,用指定的VS2008编译器编译源码,并输出编译结果的日志文件;3、将编译所得文件压缩打包;4、将压缩包拷贝到服务
2013-08-22 18:21:34 1262 3
原创 书单
1.《C++ Primer》:全面学习C++的必备书籍《C和指针》2.《Thinking in C++》:了解C++背后的一些机制3.《深度探索C++对象模型》:深入了解C++,也是学习COM的必经之路Windows平台入门1.《Windows程序设计》:这本书主要讲的是Windows API的使用,是Windows编程入门书籍。上册涉及到的知识基本上就够用了,时间不充裕的话阅
2013-08-22 15:49:48 811
原创 CreateEx函数的窗口样式(来自http://technet.microsoft.com/zh-cn/subscriptions/czada357.aspx)
窗口样式WS_BORDER 创建具有边框的窗口。WS_CAPTION 创建具有标题栏的窗口 (即表示 WS_BORDER 样式)。 不能使用 WS_DLGFRAME 样式。WS_CHILD 创建子窗口。 不能使用 WS_POPUP 样式。WS_CHILDWINDOW 和 WS_CHILD 样式相同。,在父窗口中,绘
2013-08-20 00:13:26 1256
原创 【转自中华考试网】引用LPSTR、LPCSTR、LPTSTR、LPCTSTR、LPWSTR及LPCWSTR的意义及区别
1、ANSI(即MBCS):为多字节字符集,它是不定长表示世界文字的编码方式。ANSI表示英文字母时就和ASCII一样,但表示其他文字时就需要用多字节。2、Unicode:用两个字节表示一个字符的编码方式。比如字符'A'在ASCII下面用一个字节表示,而在Unicode下面用两个字节表示,其中高字节用"0"填充;函数'程'在ASCII下面用两个字节表示,而在Unicode下面也是用两个字节表示
2013-08-16 11:36:12 1026
转载 贪食蛇
#include #include #define KUAN 20 //地图的大小int iz[KUAN][KUAN]; //地图struct _JieDian //蛇的结点位置,使用链表结构来存储蛇身上各结点的位置{ _JieDian *pNext; //下一个结点 POINT pt;
2013-02-18 19:20:16 841
原创 VC++深入详解的学习
Windows程序内部运行机制 WinMain函数是Windows程序的入口点函数,与DOS程序的入口点哈市南湖main的作用相同,当WinMain函数结束或返回时,Windows应用程序结束。 一个实现的功能为创建一个窗口,并在该窗口中响应键盘及鼠标消息的Win32程序实现的步骤为: ·1 WinMa
2013-01-20 17:31:27 826
原创 VC++深入详解的学习
第一章Windows程序内部运行机制 基础知识: 一个Windows应用程序至少要有一个窗口,称为主窗口。 一个应用程序窗口通常都包含标题栏、菜单栏、系统菜单、最小化框、最大化框、可调边框,有的还带有滚动条。下图为WS_OVERLAPPEDWINDOW类型的窗口: 窗口可以分为客户区和非客户
2013-01-19 17:49:14 980
转载 VC动态轨迹画线
这是一个绘制直线的简单绘图程序,能过实现动态轨迹画线,在拖动时产生临时线来表示可能画出的直线效果。首先:建立一个单文档程序,名称为Demo然后:在视图类的声明文件里面加入数据成员class CDemoView : public CView{//········protected: int m_Dragging; HCURSOR m_HCr
2012-12-07 22:50:23 1441
原创 VC/MFC动态画线(橡皮线),画圆,画椭圆,画矩形
所谓的动态画线,画矩形,画椭圆的本质就是在于消隐问题的解决以及对Windows消息循环机制的理解,消隐问题:因为MFC中有一个函数SetROP2,通过将该函数的参数设置为R2—NOT(当前绘制的像素值设为屏幕像素值的反色,这里面的“屏幕”二字是指你所绘制的图形所占据的那一部分屏幕区域,即直线所占的屏幕区域就是直线所在的那一段线的区域),利用这一点通过在同一区域重复画两次便可以将该区域的形状消隐。而Windows消息循环机制更好的体现于MouseMove消息响应中,因为要实现动态画线、画矩形这就体现在鼠标在
2012-12-07 22:36:09 47838 25
原创 良好的网络爬虫架构
一个设计良好的爬虫架构必须满足如下的要求: (1)分布式:爬虫应该能够在多台机器上分布执行; (2)可伸缩性:爬虫结构应该能够通过增加额外的机器和带宽来提高抓取速度; (3)性能和有效性:爬虫系统必须有效地使用各种系统资源,例如,处理器、存储空间和网络带
2012-11-27 19:47:54 2679
原创 网络爬虫中用到的宽度优先遍历算法
最近学习自己动手写网络爬虫书中涉及到了图的宽度优先遍历,其中很重要的一点是图的宽度优先遍历需要一个队列(队列的特点:先进先出)作为保存当前节点的子节点的数据结构。以上图为例图的宽度优先遍历算法描述为: 1.首先访问顶点A,将顶点A入队 2.之后因为要访问A的邻接点,应先将A出队(我认为当要访问某个节点的邻接点时,应先将该节点从使其出队,之后访问该
2012-11-27 18:52:14 5098 2
原创 学习网络爬虫
爬虫的架构通用爬虫的架构如图所示 该通用爬虫框架的流程: 1.首先选取一些网页,将这些网页的链接地址作为种子URL; 2.将这些种子URL放入到待抓取URL队列中; 3.爬虫从待抓取URL队列(队列先进先出)中依次读取URL,并通过DNS解析URL,把链接地址转换为网站服务器所
2012-11-27 18:05:10 4069
转载 PROCESSENTRY32
PROCESSENTRY32(来自百度百科)用来存放快照进程信息的一个结构体。(存放进程信息和调用成员输出进程信息)用来 Process32First指向第一个进程信息,并将进程信息抽取到PROCESSENTRY32中。用Process32Next指向下一条进程信息。PROCESSENTRY32 Structure:Describes an entry from a lis
2012-06-28 16:05:41 4364
原创 CreateToolhelp32Snapshot
CreateToolhelp32SnapshotCreateToolhelp32Snapshot函数为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程[THREAD])建立一个快照[snapshot]。 HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags, //用来指定“快照”中需要返回的对象,
2012-06-28 15:42:10 12800 2
原创 list控件
list control 控件的CListCtrl::SetExtendedStyle函数的形式:函数原型: DWORD SetExtendedStyle( DWORD dwNewStyle );dwNewStyle 要使用列表视图控件的扩展样式的组合。描述性的这些样式列表返回值:此成员函数实现 Win32 宏
2012-06-28 15:19:43 1061
原创 VS项目文件夹下的ncb文件
ncb 无编译浏览文件(no compile browser), NCB为VC++自动创建的跟踪文件,NCB是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息.当自动完成功能出问题时可以删除此文件。build后会自动生成。
2012-06-28 14:57:30 4282 1
翻译 数据显示
上一篇文章介绍了Visual C++ 2010对SQL SERVER 2008进行连接,我们建立了一个MFC程序,其中把基类CView替换成了CListView,这篇文章小菜进行数据获取和访问。 1:首先我们对客户区进行修改,使其具有类似Excel的数据格网风格 我们对OnInitialUpdate()进行修改 void CADOView::OnIn
2012-04-20 15:55:27 1196
原创 VC++链接数据库
由于数据库课程的需要,使用Visual C++ 2010对SQL SERVER 2008 进行连接操作,其中大量时间用于查阅资料。现在就成功的方法和大家分享,希望可以省去大家查找资料的时间。 首先建立MFC应用程序,只需要将CView基类改成CListView不需要选择数据源(和一般的应用程序一样然后导入ADO的动态链接库msado15.dll,语法如下,字符串为msado15
2012-04-20 15:54:06 720
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人