自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 C语言——数组与指针-元素的值

今天遇到的笔试题,哎,他妈的又做错了,难受啊题目: 4 void main() 5 { 6 7 int a[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12}; 8 int *ptr =a[0]; 9 int (*p)[4]= (a+1); 10 11 prin

2017-09-15 20:59:57 492

原创 笔试题——同样的字符串存放的位置不同

最近在找工作,遇到一道笔试题,让我很是纠结不知道这个题到底考的是什么,运行了之后豁然开朗 5 char a[] = "123"; 6 char b[] = "123"; 7 const char c[] ="123"; 8 const char d[] ="123"; 9 char* e

2017-09-15 19:33:04 407

原创 C语言——直接插入排序

什么是直接插入排序? 直接插入排序即是在要排序的数组中,假设前n-1(n>=2)个数已经是排好序的,现在要把第n个数插入到前n个已经排好序的数组中,使得这n个数也变成有序的,如此反复循环,使得要排序的数组中的最后一个元素也排好序,        我们可以先假设第一个数是排好序的,然后第二个数和第一个数进行比较,如果第二个数比第一个数大,那么说明前两个数排好序,无需做调整,如果

2017-09-13 19:46:40 489

原创 Linux 关于存储器的了解

RAM(ramdomaccessmemory随机存取寄存器):RAM-RamdomAccessMemory易挥发性随机存取寄存器,高速存取,读写时间相等是与CPU直接交换数据的内部寄存器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介,存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失

2017-09-06 15:17:49 427

原创 Linux——常用基本命令

Linux常用基本命令:(1)、cd命令:最长用的基本命令返回命令:直接键入cd,不加任何参数可以返回到home/跳传命令:加参数可以切换到指定目录下;.表示当前目录..表示上级目录cd ./src    表示切换到当前目录的src文件下cd ../src   表示切换到上级目录的src文件下(2)、ls(list的缩写)命令:顾名思义就是查看目录与

2017-09-05 19:11:53 247

原创 字符串插入字符串函数

在字符串中指定字符后插入一个字符串: 1 #include 2 #include 3 4 str11(char* p, char position, char* Dest) 5 { 6 size_t len; 7 char temp; 8 len = strlen(Dest); 9 10

2017-09-04 17:55:50 2618

原创 C语言的编译过程常见的错误和警告

C语言的编译过程:一、 C语言编译过程C语言的编译过程可分为四个阶段:1、预处理(Preprocessing)对源程序中的伪指令(即以#开头的指令)和特殊符号进行处理的过程。伪指令包括:1)宏定义指令;      2)条件编译指令;      3)头文件包含指令;2、编译(Compilation)编译就是将源程序转换为计算

2017-09-04 14:28:30 16346 1

原创 WiFi是什么?

什么是WiFi?Wi-Fi是一种允许电子设备连接到一个无线局域网(WLAN)的技术,通常使用2.4G UHF或5G SHF ISM 射频频段。连接到无线局域网通常是有密码保护的;但也可是开放的,这样就允许任何在WLAN范围内的设备可以连接上。Wi-Fi是一个无线网络通信技术的品牌,由Wi-Fi联盟所持有。目的是改善基于IEEE 802.11标准的无线网路产品之间的互通性。有人把使用IEEE

2017-09-02 14:07:17 1339

原创 C语言——字符串里删除字符函数

前言:对于一个刚接触C语言的人来说,写个简单的字符串操作函数简直是要了我的命,刚开始看网上的大神写的代码的时候觉得很简单,自己想了一会之后觉得自己动手写肯定是没问题,可是当我自己写的时候(在不看他们代码的前提下,完全用自己的逻辑)真的是觉得自己只会理论上的可以,真的是纸老虎,所以想当个的程序员,必须要自己动手了!这是我在做一道笔试题的时候遇到的一道编程的题:题目:写一个函数,实现删

2017-08-31 15:14:37 12209

原创 DHCP协议

动态主机配置协议DHCP1,DHCP简介DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,是一个应用层协议。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网。DHCP的前身是BOOTP协议(Bootstrap Protocol),BOOTP

2017-08-27 17:03:16 366

原创 FTP协议详解

FTP(文件传输协议):文件传输协议FTP(File Transfer Protocol)是因特网中使用最广泛的文件传输协议。FTP使用交互式的访问,允许客户指定文件的类型和格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)。  文件传输协议有基于TCP的FTP和基于UDP的简单文件传输协议TFTP,它们都是文件共享协议

2017-08-27 16:07:35 5723

原创 程序优化——C/C++参数优化

C/C++变量优化:C/C++语言中变量依据其定义的方式不同,其存放位置可以分为寄存器、栈区、堆区和静态存储区三种区域。(1)寄存器上分配。当函数中定义的局部变量不多,且没有对局部变量的取地址操作时,则会将该变量会分配在寄存器中。当进行运算时,直接读寄存器,速度非常快。(2)在栈上分配。用户在函数体中定义了较多局部变量后,或对变量进行取地址操作,通过结构体返回值,则相应

2017-08-27 14:06:10 1222

原创 Linux系统下——GDB调试工具基本命令

前言:刚开始在Linux系统下VIM编程,学会了修改编译时产生的错误,但出现了一些逻辑性的错误或者你的疏忽大意造成的错误时而编译器又无法发现的错误时,真的要花很长的时间来改正一个错误,用GDB调试就会给你带来一些方便。如何进入GDB:我用的是gcc编译gcc -g file.c -o filegdb file这样就可以进入gdb里面了;GNU gdb 6

2017-08-23 18:15:35 442

原创 GPS通信协议——最常用的NMEA0183协议

什么是GPS?GPS是英文Global Positioning System(全球定位系统)的简称。GPS起始于1958年美国军方的一个项目,1964年投入使用。20世纪70年代,美国陆海空三军联合研制了新一代卫星定位系统GPS 。主要目的是为陆海空三大领域提供实时、全天候和全球性的导航服务,并用于情报搜集、核爆监测和应急通讯等一些军事目的,经过20余年的研究实验,耗资300亿美元,到

2017-08-23 16:38:00 6605

原创 C语言——define的用法归纳

define的用法:define是C语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。  预处理命令以“#”号开头,如包含命令#include,宏定义命令#define等。一般都放在源文件的前面,它们称为预处理部分。  所谓预处理是指在进行编译之前所作的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源

2017-08-03 07:54:01 2844

原创 C语言 简单选择排序算法

首先介绍一下什么是选择排序:选择排序法 是对 定位比较交换法(也就是冒泡排序法) 的一种改进。选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。简单选择排序的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排

2017-07-30 14:49:38 576

原创 C语言 冒泡排序算法

首先说下什么冒泡排序重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。void swap(int *a,int *b){ int c; c = *a;

2017-07-30 14:28:12 631

原创 C语言 单向链表创建

单向链表的创建:1、首先是创建一个头结点,他的数据域可以不设置,也可以设置成记录链表的长度;2、创建一个尾节点;3、创建一个要插入的节点;尾节点的作用是作为新节点的插入点#include #include #define LEN 8 struct node{ int name; struct node *next;

2017-07-29 15:10:29 417 1

原创 C语言——const、static、volatile、inline的用法及含义

static关键字1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。注意,只有在定义了变量后才能使用。如果变量定义在使用之后,要用extern 声明。所以,一般全部变量都会在文件的最开始处定义。3) 在模块

2017-07-26 14:43:07 1744

转载 socket的accept函数解析

socket的accept函数解析 (2014-03-31 22:38:13)转载▼ 分类: MFC编程 今天与同学争执一个话题:由于socket的accept函数在有客户端连接的时候产生了新的socket用于服务该客户端,那么,这个新的socket到底有没有占用一个新的端口?    讨论完后,才发现,自己虽然熟悉

2017-04-25 20:06:13 764

原创 SOCKET网络编程——服务器端

3、socket的基本操作socket()函数bind()函数listen()、connect()函数accept()函数read()、write()函数close()函数if( (socket_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1 )socket函

2017-04-24 20:00:49 578

原创 串口编程—(3)串口编程

#include          /*标准输入输出定义*/#include         /*标准函数库定义*/#include         /*Unix 标准函数定义*/#include     #include     #include     #include          /*文件控制定义*/#include        /*PPSIX

2017-04-19 19:05:55 281

原创 串口编程—(2)编程步骤及参数设置

LINUX 下串口操作需要的头文件#include           /*标准输入输出定义*/  #include          /*标准函数库定义*/  #include          /*Unix 标准函数定义*/  #include         #include          #include           /*文件控制定义

2017-04-17 19:09:24 1398

转载 串口编程—(1)串口基本知识

rs232是三芯通信,即DB9的第2引脚RXD(接收)、第3引脚TXD(发送数据)、第5引脚DG(信号地)。rs232是三芯通信,485是两芯通讯的,RS-232串口线 通常 是 DB9--DB9 的 串口通信线,9芯RS-485数据线 是 双绞线或者屏蔽双绞线,232传输距离较近,485传输距离比较远,485是单工(向)通讯,232是双工(向)的。通信编程都没有区别,都是按照RS23

2017-03-17 19:10:20 2569

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除