- 博客(17)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
转载 互联网协议入门(二)
互联网协议入门(二)作者: 阮一峰日期: 2012年6月11日上一篇文章分析了互联网的总体构思,从下至上,每一层协议的设计思想。这是从设计者的角度看问题,今天我想切换到用户的角度,看看用户是如何从上至下,与这些协议互动的。=================================================
2017-09-18 16:43:52 306
转载 互联网协议入门(一)
我们每天使用互联网,你是否想过,它是如何实现的?全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网
2017-09-18 16:39:15 318
原创 链表的实现
#include#include#include#includetypedef struct Node{ int data; Node* next;}Linklist;Linklist * InintLinklist(Linklist *head){ head = (Linklist*)malloc(sizeof(Node));
2016-05-10 20:27:27 298
转载 Java数组及引用类型内存分配
在上一篇中,我们已经了解了数组,它是一种引用类型,本篇将详细介绍数组的内存分配等知识点。数组用来存储同一种数据类型的数据,一旦初始化完成,即所占的空间就已固定下来,即使某个元素被清空,但其所在空间仍然保留,因此数组长度将不能被改变。当仅定义一个数组变量(int[] numbers)时,该变量还未指向任何有效的内存,因此不能指定数组的长度,只有对数组进行初始化(为数组元素分配内存空间)后才可以使用。
2016-04-28 20:38:20 325
转载 void指针(void *的用法)
指针有两个属性:指向变量/对象的地址和长度但是指针只存储地址,长度则取决于指针的类型 编译器根据指针的类型从指针指向的地址向后寻址 指针类型不同则寻址范围也不同,比如: int*从指定地址向后寻找4字节作为变量的存储单元 double*从指定地址向后寻找8字节作为变量的存储单元 1.void指针是一种特别的指针 void *vp //说它特别是因
2016-04-28 16:21:53 967
转载 matlab读取视频VideoReader类
看到以前matlab中读取视频多使用mmreader等(参考《matlab读取/播放视频的函数》),而现在matlab有一个专门的视频读取类VideoReader完成视频读取的功能。相关博文:《matlab写入/合成视频VideoWriter类 》0。 一个读取视频,显示帧,并保存每一帧 的代码fileName = 'MVI_1264_clip.avi'; obj = Vi
2015-09-06 16:05:29 1690
转载 cin的用法及清空输入缓冲区问题
问题描述:输入数据时希望有个合法性检验的问题,如果输入的数据不合法则程序提示重新输入。最初代码如下:#include #include using std::cin ;using std::cout ;using std::endl;using std::vector ;int main(){int num;vector ivec;
2015-08-17 09:56:14 614
转载 C++输入cin详解
输入原理:程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入#1:#include using namespace std;int main(){
2015-08-16 19:32:28 393
转载 C++中cin、cin.get()、cin.getline()、getline()、gets()等
学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行)1、cin 2、cin.get() 3、cin.getline() 4、getline() 5、gets() 6、getchar()附:cin.ignore();cin.get()//跳过一个字符
2015-08-15 21:17:58 242
转载 typedef用法小结
一. 起别名的两种用法 1 . typedef ( int * ) pInt; 2 . typedef pInt ( int * )比如 pInt a,b;第一种表示: int*a;int*b;第二种表示: int*a,b;所以第一种更像一个类型,第二种更像宏。 二. 旧式代码中声明对象
2015-08-14 08:57:11 346
转载 指针 复杂的声明
int *( *(*fp1)(int) )[10]; 阅读步骤: 1. 从变量名开始 ---------------------------- fp1 2. 往右看,是“)”,因此往左看,是“*” ------- 一个指针 3. 跳出括号,碰到了(int) ------------ 一个带一个int参数的函数
2015-08-14 08:53:41 278
转载 右左法则----复杂指针解析
首先看看如下一个声明: int* ( *( *fun )( int* ) )[10]; 这是一个会让初学者感到头晕目眩、感到恐惧的函数指针声明。在熟练掌握C/C++的声明语法之前,不学习一定的规则,想理解好这类复杂声明是比较困难的。 C/C++所有复杂的声明结构,都是由各种声明嵌套构成的。如何解读复杂指针声明?右左法则是一个很著名、很有效的方法。不过,右左法则其实并不是C/
2015-08-14 08:50:29 168
转载 详解C/C++函数指针声明
要理解一个C程序,仅仅理解组成该程序的符号是不够的。程序员还必须理解这些符号是如何组合成声明、表达式、语句和程序的。 我们先来看看下面的一个语句:1( *( void(*)())0)(); 这是当计算机启动时,硬件将调用首地址为0位置的子例程。像这样的表达式恐怕会令每个C/C
2015-08-13 16:39:36 548 1
转载 void (*f(int, void (*)(int)))(int) 函数解析
函数指针 今天与几个同学看到了一个函数指针定义: void (*f(int, void (*)(int)))(int) 以前在C trap pit fails里面见过,但是文章里面介绍的很详细,但是往往使初学者抓不到重点, 结果弄的一头污水。这里就简单介绍一下这中函数指针的定义方法。 什么是函数指针? 这个问题从定义的角度来看很好理解,指向函数的指针就是函数
2015-08-13 16:01:57 436
转载 C专家编程—分析signal函数的原型声明{void (*signal(int sig,void (*func)(int)))(int)}(2)
在ANSI标准中,signal()的声明如下: void (*signal(int sig,void (*func)(int)))(int)signal是一个函数,它返回一个函数指针,后者所指向的函数(signal的返回值)接受一个int参数并返回void。signal函数有两个参数,一个是sig(为int类型),另一个是func(为void(*)(int)类型)。
2015-08-13 15:19:21 326
转载 C语声明的优先级规则
要理解一个声明,必须懂得其中的优先级规则优先级规则:A 从声明的最左边开始向右寻找,直到找到第一个标识符,然后按照下面的优先级顺序依次读取B 优先级顺序从高到低依次是: B.1 声明中被括号括起来的那部分(标识符包含在括号中)当成一个整体,先处理括号内的 B.2 后缀操作符:
2015-08-11 21:06:10 412 1
转载 关于定义一个指针与指针变量
分类: C/C++structosstruct stat st;struct stat *st; 【就事论事的解释】 struct stat *st;是定义了一个stat结构体的指针,这句话的重点在于是“指针”,其本质上,(在32位的体系结构中)也就是一个32位的数而已。对于名称和实体来说:名称:一个名字叫做s
2015-08-05 16:08:46 583
关于视频认证的问题,由matlab代码到VC的转化
2015-08-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人