第1章 声明和初始化基本类型1.1 我该如何决定使用哪种整数类型?1.2 为什么不精确定义标准类型的大小?1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。
然后根据实际的机器环境把它们定义为int、short、long等类型。
这样看来,所有的问题都解决了,是吗?1.4 新的64位机上的64位类型是什么样的?指针声明1.5 这样的声明有什么问题?char*p1,p2;我在使用p2的时候报错了。
1.6 我想声明一个指针,并为它分配一些空间,但却不行。
这样的代码有什么问题?char*p;*p=malloc(10);声明风格1.7 怎样声明和定义全局变量和函数最好?1.8 如何在C中实现不透明(抽象)数据类型?1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量?存储类型1.10 同一个静态(static)函数或变量的所有声明都必需包含static存储类型吗?1.11 extern在函数声明中是什么意思?1.12 关键字auto到底有什么用途?类型定义(typedef)1.13 对于用户定义类型,typedef和#define有什么区别?1.14 我似乎不能成功定义一个链表。
我试过typedefstruct{char*item;NODEPTRnext;}*NODEPTR;但是编译器报了错误信息。
难道在C语言中结构不能包含指向自己的指针吗?1.15 如何定义一对相互引用的结构?1.16 Struct{ }x1;和typedefstruct{ }x2;这两个声明有什么区别?1.17 “typedefint(*funcptr)();”是什么意思?const限定词1.18 我有这样一组声明:typedefchar*charp;constcharpp;为什么是p而不是它指向的字符为const?1.19 为什么不能像下面这样在初始式和数组维度值中使用const值?constintn=5;inta[n];1.20 constchar*p、charconst*p和char*constp有什么区别?复杂的声明1.21 怎样建立和理解非常复杂的声明?例如定义一个包含N个指向返回指向字符的指针的函数的指针的数组?1.22 如何声明返回指向同类型函数的指针的函数?我在设计一个状态机,用函数表示每种状态,每个函数都会返回一个指向下一个状态的函数的指针。
可我找不到任何方法来声明这样的函数——感觉我需要一个返回指针的函数,返回的指针指向的又是返回指针的函数……,如此往复,以至无穷。
数组大小1.23 能否声明和传入数组大小一致的局部数组,或者由其他参数指定大小的参数数组?1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小?声明问题1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。
*1.26 main的正确定义是什么?voidmain正确吗?1.27 我的编译器总在报函数原型不匹配的错误,可我觉得没什么问题。
这是为什么?1.28 文件中的第一个声明就报出奇怪的语法错误,可我看没什么问题。
这是为什么?1.29 为什么我的编译器不允许我定义大数组,如doublearray[256][256]?命名空间1.30如何判断哪些标识符可以使用,哪些被保留了?初始化1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零?1.32 下面的代码为什么不能编译?intf(){chara[]="Hello,world!";}*1.33 下面的初始化有什么问题?编译器提示“invalidinitializers”或其他信息。
char*p=malloc(10);1.34 chara[]="stringliteral";和char*p="stringliteral";初始化有什么区别?当我向p[i]赋值的时候,我的程序崩溃了。
1.35 chara{[3]}="abc";是否合法?1.36 我总算弄清楚函数指针的声明方法了,但怎样才能初始化呢?1.37 能够初始化联合吗?第2章 结构、联合和枚举结构声明2.1 structx1{ };和typedefstruct{ }x2;有什么不同?2.2 这样的代码为什么不对?structx{ };xthestruct;2.3 结构可以包含指向自己的指针吗?2.4 在C语言中用什么方法实现抽象数据类型最好?*2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法?2.6 为什么声明externf(structx*p);给我报了一个晦涩
2024/1/19 18:27:15 18.8MB c语言
1
本版本是2.1版。
最新发布!此版修正了不能及时检测用户下线的Bug,同时增加了重命名的功能,界面有很大改观,源码也有很大调整,版本2.1。


更新历史:解压后直接点击.jar文件运行,在局域网内各个机器互连,双击头像进行聊天。
主要技术难点1.在线用户列表2.头像列表用到的知识有Swing、事件处理、多线程、数据报、Socket等。
版本1.1多谢大家支持,为了方便大家学习,以后此资源免分。
新版本2.1已出,欢迎共同学习"java仿QQ2.1.0(附源码)"
2024/1/15 9:16:27 45KB java 飞鸽 飞鸽传书 飞秋
1
hdfs是hadoop的分布式文件系统,即HadoopDistributedFilesystem。
下面主要讲下HDFS设计中的比较重要的点,使读者能通过简短的文章一窥HDFS的全貌,适合对HDFS有一点了解,但是对HDFS又感到困惑的初学者。
本文主要参考的是。
当数据集的大小超过了一台物理机所能存储的能力时,就需要将它进行分区并存储到若干不同的独立的计算机上,其中管理跨多台计算机存储的文件系统称为分布式文件系统。
目录使用HDFS的场景HDFS的工作模式文件系统命名空间(namespace)数据复制文件系统元数据的持久化通讯协议健壮性数据组织可访问性存储空间回收HDFS适合于以流式数据访问模式来存
2024/1/3 22:57:22 511KB 浅析HDFS架构和设计
1
PC版的喜马拉雅客户端下载的m4a文件,实现批量重命名音频文件。
该程序的主要功能是:把下载的文件重命名为“真实名称.m4a”。
源代码请访问:https://gitee.com/mashanlin/FMRename
2023/12/28 16:03:47 225KB 喜马拉雅 c# winform
1
SageStarter是基于Sage8.6,HTML5Boilerplate,gulp和Bower的入门主题,可帮助您创建更好的网站。
主页::资料来源::文档::推特:要求先决条件如何检查如何安装PHP>=5.4.xphp-vNode.js>=6.9node-vgulp-cli>=2.0.0gulp-vnpminstall-ggulp-cli凉亭>=1.3.12bower-vnpminstall-gbower有关更多安装说明,请参阅本文档中的“部分。
产品特点构建脚本,可同时编译Sass和Less,检查JavaScript错误,优化图像,并连接和缩小文件用于在测试过程中保持多个浏览器和设备同步,并在开发过程中将更新CSS和JS注入浏览器用于前端程序包管理基于JSON文件的资产管道的ARIA角色和微格式安装克隆gitrepo-gitclonehttps://github.com/asuh/sage-starter.git,然后将目录重命名为主题
2023/12/28 12:03:17 15KB gulp sass bower browsersync
1
.NETFramework4.0常用类库参考手册[微软官方MSDN]MSDNLibrary-.NETFramework4.0-命名空间(节选版)制作成了chm格式,方便离线状态下学习!
2023/12/27 2:58:05 19.73MB .NET 4.0 常用类库 参考手册
1
2018年软件学院C++课程设计课程设计目的:1、熟悉利用面向对象的方法以及C++的编程思想来完成系统的设计;
2、锻炼学生在设计的过程中,建立清晰的类层次,应用继承和多态等面向对象的编程思想;
3、通过本课程设计,加深对面向对象程序设计课程所学知识的理解,熟练掌握和巩固C++语言的基本知识和语法规范,深刻体会面向对象的编程思想,掌握使用面向对象程序设计语言C++,学会编写结构清晰、风格良好的C++语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。
课程设计题目:模拟即时通信系统实现一、题目描述基于社交的即时通信是腾*公司的主要业务,先后有QQ、微信、微博等服务,可能还将继续推出微商、微唱、微走、微笑等产品。
这些软件既可以独立提供服务,又互相辉映关联。
腾*公司希望对各系统进行整合形成统一的立体社交软件平台。
现请完成该平台的设计并实现。
要求如下:1、用户基本信息:号码ID,昵称,出生时间,T龄(号码申请时间)、所在地、好友列表、群列表。
微博与QQ共享ID,微信采用独立ID,但是可以与QQ号码绑定对应。
其他微X产品也分为这两种情况。
2、好友管理(1)实现各功能好友信息的添加、修改、删除、查询的功能。
(2)可以查询微X之间各自共同好友。
如微信可以添加QQ推荐好友。
3、群管理(1)设定每个微X功能已有1001、1002、1003、1004、1005、1006等群号。
(2)加入群、退出群、挨T、查询群成员等。
(3)不同微X之间群的理念不同,比如:QQ群可以申请加入,而微信群则只能推荐加入;
QQ群允许设置临时讨论组(子群),微信群则不允许;
QQ群有以群主为核心的管理员制度,而微信群仅有群主为特权账号。
4、开通管理用户可以选择自己开通该平台的N个微X服务。
5、登录管理各微X之间只要有一个服务登录,则其它服务简单确认后视为自动登录。
6、功能展示要求(main函数)(1)设计约定。
开通服务情况、群成员信息和好友信息可以预先保存到文件中,在系统启动时将这些信息加载到内存中;
(2)一个服务登录后,本人开通的其它所有服务均进入开通状态。
(3)服务之间可以依据本人开通的任意另外一个服务的好友添加好友。
(4)展示一个服务当前群的特色功能;
在群成员数据不受伤害的前提下,动态变换为其他类型群的管理特色。
(5)实现QQ的点对点的TCP通信的收发功能。
(选做)提示:a)需要加载ws2_32.lib静态库,打开头文件winsock.h。
b)百度IP地址、端口等概念;
c)百度socket编程,关注bind、listen、accept、connect、send、receive等函数用法。
二、技术层次要求及说明1、基本层次。
完成上述功能要求,所采用技术不限,比如采用纯面向过程思想实现;
2、支持对象层次。
正确完成了类的切割,利用对象技术实现。
(1)容器类主要包括:例如,微X成员管理。
(2)其它主要类包括:例如,微X信息、群信息、好友信息。
3、抽象、封装层次采用了继承或者组合实现复用,对数据成员提供了必要的接口保护;
(1)抽象出了基础类,并被其它功能复用;
(2)如好友维护、群信息维护等操作均应该提供接口形式;
4、面向对象层次支持多态功能,支持依据设计原则的优化。
好友管理、群管理等;
5、优化提高层次(1)提供简便菜单,以1、2等数字区分几类功能,并允许返回菜单;
(2)I/O操作支持。
基本功能中,已有设定信息,在初始化时候可以固化在程序代码中,也可以存放在文件中,每次容器实例化时读入,析构时写回文件中,以实现断电保存。
(3)可扩展性支持,需要考虑群、好友等与主要服务之间的关系;
(4)灵活性支持。
群的管理模式动态可变;
(5)程序有必要的注释;
(6)可以采用UML工具画出简单类图(7)为防止不诚信行为,要求类的设计均以独立文件存在,且所有的类名称后面应有自己的姓名缩写,如张三设计的QQ信息类名称:TencentZhS。
三、设计步骤(参考):在清楚上述系统功能要处理是什么的基础上,考虑用如下方式来设计1、确定所需的类及其相互间的关系。
(1)要从问题中归纳出一个概念或实体,从这些概念或实体出发建立相应的类。
(2)尽量使类小而简单,以使其看起来容易理解。
(3)充分利用封装以增加类的可靠性,以便使用时保证更加可靠。
(4)通过继承建立类族,以方便使用多态性。
2、确定每个类的实现。
(1)考虑类的对象应该如何构造和析构。
(2)考虑类的成员函数的建立。
(3)综合考虑各个类在命名和功能方面有哪些共性。
3、细化有关的类,描述他们之间的相互关系,
1
内容简介······这是一本经典的Windows核心编程指南,从第1版到第5版,引领着数十万程序员走入Windows开发阵营,培养了大批精英。
作为Windows开发人员的必备参考,本书是为打算理解Windows的C和C++程序员精心设计的。
第5版全面覆盖WindowsXP,WindowsVista和WindowsServer2008中的170个新增函数和Windows特性。
书中还讲解了Windows系统如何使用这些特性,我们开发的应用程序又如何充分使用这些特性,如何自行创建新的特性。
...作者简介······JeffreyRichter是一位在全球享有盛誉的技术作家,尤其在Windows/.NET领域有着杰出的贡献。
他的第一本Windows著作Windows3:ADeveloper'sGuide大获好评,从而声名远扬。
之后,他又推出了经典著作《Windows高级编程指南》和《Windows核心编程》。
如今这两本书早已成为Windows程序设计领域的颠峰之作,培育了几代软件开发设计人员。
他的每一本新作问世,我们都有理由相信这是一本巨著,我们想要的一切尽在其中。
Jeffery是Wintellect公司的创始人之一,也是MSDN杂志.NET专栏的特邀编辑。
现在他正领导开发该公司的.NET程序设计课程,向大众推广.NET技术。
因为他自1999年开始就参与了微软.NET框架开发组的咨询工作,与这些一线人员一起经历了.NET的孕育与诞生,所以他对.NET思想的领悟、对.NET的细节熟稔,是其他任何作家难以企及的。
他是.NET著作领域中当之无愧的一面旗帜。
ChristopheNasarre是BusinessObjects的软件架构师和开发部门领导,该公司致力于帮助其他企业更好地专注于其主营业务,通过商业智能方案来提升决策能力和业绩。
他为Addison-Wesley,APress和MicrosoftPress出版的许多图书担任过技术审校,此外还是MSDNMagazine的撰稿人。
目录······第1部分必备知识第1章错误处理1.1定义自己的错误代码1.2ErrorShow示例程序第2章字符和字符串处理2.1字符编码2.2ANSI字符和Unicode字符与字符串数据类型2.3Windows中的Unicode函数和ANSI函数2.4C运行库中的Unicode函数和ANSI函数2.5C运行库中的安全字符串函数2.5.1初识新的安全字符串函数2.5.2在处理字符串时如何获得更多控制2.5.3Windows字符串函数2.6为何要用Unicode2.7推荐的字符和字符串处理方式2.8Unicode与ANSI字符串转换2.8.1导出ANSI和UnicodeDLL函数2.8.2判断文本是ANSI还是Unicode第3章内核对象3.1何为内核对象3.1.1使用计数3.1.2内核对象的安全性3.2进程内核对象句柄表3.2.1创建一个内核对象3.2.2关闭内核对象3.3跨进程边界共享内核对象3.3.1使用对象句柄继承3.3.2改变句柄的标志3.3.3为对象命名3.3.4终端服务命名空间3.3.5专有命名空间3.3.5复制对象句柄第Ⅱ部分工作机制第4章进程4.1编写第一个Windows应用程序4.1.1进程实例句柄4.1.2进程前一个实例的句柄4.1.3进程的命令行4.1.4进程的环境变量4.1.5进程的关联性4.1.6进程的错误模式4.1.7进程当前所在的驱动器和目录4.1.8进程的当前目录4.1.9系统版本4.2CreateProcess函数4.2.1pszApplicationName和pszCommandLine参数4.2.2psaProcess,psaThread和bInheritHandles参数4.2.3fdwCreate参数4.2.4pvEnvironment参数4.2.5pszCurDir参数4.2.6psiStartInfo参数4.2.7ppiProcInfo参数4.3终止进程4.3.1主线程的入口点函数返回4.3.2ExitProcess函数4.3.3TerminateProcess函数4.3.4当进程中的所有线程终止时4.3.5当进程终止运行时4.4子进程4.5管理员以标准用户权限运行时4.5.1自动提升进程的权限4.5.2手动提升进程的权限4.5.3何为当前权限上下文4.5.4枚举系统中正在运行的
2023/12/17 14:07:31 227.8MB Windows C++
1
ACM图灵奖演讲集:前20年(1966-1985),感受大师的风采!图灵奖以伟大的英国数学家、逻辑学家图灵名字命名,是计算机科学届的最高奖项。
2023/12/14 9:21:38 16.73MB ACM 图灵奖
1
一幅图胜过一千字。
图像在传递信息方面的优越性远远大于文字。
因此,在软件缺陷报告中,截取并附上表现缺陷的图像(Screenshot),可以提供关于软件缺陷的更直观的信息,甚至有些缺陷仅看截取的缺陷图像,不用看缺陷的操作步骤就可以很容易地复现出来。
截取缺陷的图像可以使用Windows操作系统的快捷键,但是更多的是使用屏幕捕捉工具(CapturingTools)。
虽然截取并附上缺陷图像不太复杂,但是关于截图的类型、工具、编辑、存储格式、命名规则,有不少值得注意的事项,为了准确、有效地截取和编辑缺陷图像,需要测试工程师遵守相同的处理规则。
1.截图的类型截取缺陷的图像,通常分为截取全屏幕、当前活动窗口、
1
共 539 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡