网路摘抄【5】

2024-03-20 08:32
文章标签 网路 摘抄

本文主要是介绍网路摘抄【5】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、sizeof不是函数,而是一元操作符;return也不是函数,而只是关键字。

2、typedef int size;

  此声明定义了一个 int 的同义字,名字为 size。注意 typedef 并不创建新的类型。它仅仅为现有类型添加一个同义字。你可以在任何需要 int 的上下文中使用 size:

3、如果可移植性对你真的很重要,那么还是请你别倚赖calloc()把变量初始化为0。

4、如果流指向一个输出流或最近没有进行输入操作的更新流,那么fflush()函数就把任何没有写入流的数据发送到主环境并写入该文件;否则,状态就是不确定的。

5、在基于栈的系统上,黑客可以相当容易地赋给gets()一个精心构造的可以改写栈中返回地址的字符串,从而使指针指向内存中任意位置,这会让黑客为所欲为!我们所要做的就是永远都不要使用gets()。接受字符串时,可以小心地使用scanf(),但fgets()会更好。

6、也有一些程序员把上面的函数写成:

       (void)printf(“hello world!/n”);

       (void)scanf(“%d”,&value);

来说明他们放弃了函数的返回值。

7、同样,可以象下面这样隐藏指针语法:

typedef char * pstr;
int mystrcmp(pstr, pstr);

  这里将带我们到达第一个 typedef 陷阱。标准函数 strcmp()有两个‘const char *’类型的参数。因此,它可能会误导人们象下面这样声明 mystrcmp():

int mystrcmp(const pstr, const pstr);

  这是错误的,按照顺序,‘const pstr’被解释为‘char * const’(一个指向 char 的常量指针),而不是‘const char *’(指向常量 char 的指针)。这个问题很容易解决:

typedef const char * cpstr;
int mystrcmp(cpstr, cpstr); // 现在是正确的

8、   这种说法是不是有点令人惊讶,typedef 就像 auto,extern,mutable,static,和 register 一样,是一个存储类关键字。这并是说 typedef 会真正影响对象的存储特性;它只是说在语句构成上,typedef 声明看起来象 static,extern 等类型的变量声明。下面将带到第二个陷阱:

typedef register int FAST_COUNTER; // 错误

  编译通不过。问题出在你不能在声明中有多个存储类关键字。因为符号 typedef 已经占据了存储类关键字的位置,在 typedef 声明中不能用 register(或任何其它存储类关键字)。

9、 位图分为依赖于设备的位图 位图分为依赖于设备的位图(DDB)(DDB)和与设和与设备无关的位图备无关的位图(DIB)(DIB),二者有不同的用途。,二者有不同的用途。
   依赖于设备的位图 依赖于设备的位图(DDB)(DDB)
DDB(DeviceDDB(Device-dependent bitmap)dependent bitmap)依赖于依赖于具体设备,这主要体现在以下两个方面:具体设备,这主要体现在以下两个方面:
 DDBDDB的颜色模式必需与输出设备相一致。例如,的颜色模式必需与输出设备相一致。例如,如果当前的显示设备是如果当前的显示设备是256256色模式,那么色模式,那么DDBDDB必必然也是然也是256256色的,即一个像素用一个字节表示。色的,即一个像素用一个字节表示。
 在256256色以下的位图中存储的像素值是系统调色色以下的位图中存储的像素值是系统调色板的索引,其颜色依赖于系统调色板。板的索引,其颜色依赖于系统调色板。
DDBDDB的主要用途是保存位图。要保存的位图可以的主要用途是保存位图。要保存的位图可以来自资源位图,也可以是一个绘图的结果。来自资源位图,也可以是一个绘图的结果。

与设备无关的位图 与设备无关的位图(DIB)(DIB)
DIB(DeviceDIB(Device-indepententindepententbitmap)bitmap)的与设备无关性的与设备无关性主要体现在以下两个方面:主要体现在以下两个方面:
 DIBDIB的颜色模式与设备无关。例如,一个的颜色模式与设备无关。例如,一个256256色色的的DIBDIB即可以在真彩色显示模式下使用,也可即可以在真彩色显示模式下使用,也可以在以在1616色模式下使用。色模式下使用。
 256256色以下色以下(包括 包括256256色色))的的DIBDIB拥有自己的颜色拥有自己的颜色表,像素的颜色独立于系统调色板。表,像素的颜色独立于系统调色板。
由于 由于DIBDIB不依赖于具体设备,因此可以用来永久不依赖于具体设备,因此可以用来永久性地保存图象。性地保存图象。DIBDIB一般是以一般是以*.BMP.BMP文件的形式文件的形式保存在磁盘中的,有时也会保存在保存在磁盘中的,有时也会保存在**.DIB.DIB文件文件中。运行在不同输出设备下的应用程序可以通中。运行在不同输出设备下的应用程序可以通过过DIBDIB来交换图象。来交换图象

10、由宏。由LoadBitmapLoadBitmap加载的所有位图最终都应用加载的所有位图最终都应用DeleteObjectDeleteObject清清除。
 

这篇关于网路摘抄【5】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/828865

相关文章

《自控力》-- 精华摘抄

我希望,这个旅程并不仅仅是走马观花的一瞥,不仅仅让你惊叹于神奇的科学研究。 实际上,每一项研究都告诉我们很多东西。这些东西关乎我们自己,也关乎我们的意志力挑战。它们让我们意识到,我们天生就有自控的能力,即便有时我们不太会运用这种能力。它们甚至告诉我们,做人意味着什么。比如,我们一次又一次地看到,并不是只有一个自我,人是多个自我的混合体。 人类的天性不仅包括了想即时满足的自我,也包括了目标远大的

网路安全-安全渗透简介和安全渗透环境准备

文章目录 前言1. 安全渗透简介1.1 什么是安全渗透?1.2 安全渗透所需的工具1.3 渗透测试流程 2. 使用 Kali Linux 进行安全渗透2.1 下载ISO镜像2.2 下载VMware Workstaion软件2.3 Kali Linux简介2.4 准备Kali Linux环境2.5 Kali Linux初始配置2.6 VIM鼠标右键无法粘贴处理2.7 更换镜像源2.8 更新和升

深度学习小笔记05-扩展autograd-摘抄自《深度学习框架PyTorch:入门与实践》陈云-附个人书评

为什么摘抄这一段,因为我认为这里是一个非常有用的部分,看完autograd就想去问答区提问: 然后发现没有c币,于是乎暂时作罢,结果发现答案就在下一小节(先看完再想问题,不然浪费了一个好问题),没办法我就是这么热爱思考的一个人,看完立刻就有问题,等不到再看一段书。 — 我是分界线— p94:目前,绝大多数函数都可以使用autograd实现反向求导,但如果需要自己写一个复杂的函数,不支持自动

【Linux】系列入门摘抄笔记-9-软件管理与Yum源配置

背景 Linux和Windows是完全不同的操作系统,软件包的安装和管理也是截然不同的。Linux操作系统中的软件包非常多,而且几乎都是经GPL协议授权的,Linux操作系统中的软件包大致可以分为两类:源码包与二进制包。 1.源码包 源码包里面是一大堆源代码文件,是由程序员按照特定的格式和语法编写出来的代码文件。源码包中的代码文件是无法直接安装到操作系统上的,因为计算机只认识二进制语言,也就

网络安全入门教程(非常详细)从零基础入门到精通_网路安全 教程

前言 1.入行网络安全这是一条坚持的道路,三分钟的热情可以放弃往下看了。2.多练多想,不要离开了教程什么都不会了,最好看完教程自己独立完成技术方面的开发。3.有时多百度,我们往往都遇不到好心的大神,谁会无聊天天给你做解答。4.遇到实在搞不懂的,可以先放放,以后再来解决。 先科普划分一下级别(全部按小白基础,会写个表格word就行的这种) **1级:脚本小子;难度:无,**达到“黑客新闻

基本网路概念学习

TCP/IP 四层网络结构 L2 数据链路层 或者叫 主机网络层,负责模数-数模转换,最常用的是以太网,无线以太网等。 L3 网络层,主要有IP协议,网络层发送的数据称为数据报, IP数据报包含20字节(通常)的头部,记录信息包括版本号,首部长度,原地址,目的地址,协议类型等信息。 L4 传输层 负责包以发送时的顺序接收。为了这个目的,这一层有两个主要的协议 TCP 和 UDP。 L5 应

android添加网路权限

直接看了中间的视频不知道安卓还需要添加网络权限 方法如下: AndroidManifest.xml --> Permissions --> add --> Uses-Permission -->Name里选择android.permission.INTERNET 之后在AndroidManifest.xml的代码里可以看到一行代码:   <uses-permission android:

好段落句子摘抄

创新思路:   Encoder-Decoder是个创新游戏大杀器,一方面如上所述,可以搞各种不同的模型组合,另外一方面它的应用场景多得不得了,比如对于机器翻译来说,<X,Y>就是对应不同语言的句子,比如X是英语句子,Y是对应的中文句子翻译。再比如对于文本摘要来说,X就是一篇文章,Y就是对应的摘要;再比如对于对话机器人来说,X就是某人的一句话,Y就是对话机器人的应答;再比如……总之,太多了。哎,那位

再看网路层分组的转发

因为一个路由表不需要知道所有其他路由表的信息,因此,如何在局部和宏观之间达到一个平衡呢。 首先我有以下的问题:从数据报中取出目的地址,如果目的地址显示就是当前所连接的网段,那么都不用再走路由,直接交付即可。那么,如果是需要间接交付,交给别的路由器,这该如何选择呢? 对的,这正是路由选择的核心。 从下面的流程中可以抽出三个策略:路由表中有目的地址的特定主机的路由;路由表中有达到子网的路由;默认

c#: 检测网路连通性

环境: -window 10 x64 专业版 -vs2019 -.net 控制台 ; .net framework4.0; 参照:https://www.cnblogs.com/fuchongjundream/p/3853820.html 一、先看运行效果 二、代码 InternectCheckHelper.cs using System;using System.Collecti