C语言
文章平均质量分 68
cainiao000001
正在学习中
展开
-
C语言学习知识点(三):简单的学习应用
冠以switch语句的使用;子函数的调用;指针与一位数组结合的简单使用等的C语言函数原创 2017-11-28 22:36:12 · 426 阅读 · 0 评论 -
C语言网络编程——C/S架构模板
进行Socket编程的常用函数有:socket:创建一个socketbind:用于绑定IP地址和端口号到socketconnect:该函数用于绑定之后的client端与服务器建立连接listen: 设置能处理的最大连接要求,Listen()并未开始接收连线,只是设置socket为listen模式。accept:用来接受socket连接。int socket(int fa原创 2018-02-05 10:51:05 · 3701 阅读 · 2 评论 -
Linux进程间通信——共享内存学习(系统V共享内存原理)
什么是共享内存?顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果某个进程向共享内存写入数据,所做的改动将立即影响到可原创 2018-01-30 14:20:26 · 337 阅读 · 0 评论 -
C语言学习总结
学习了一段时间的C语言,也完成了一些玩具小项目,有了一些自己的理解如下:一、基础的语法很重要,只有学好了这些语法,才会写程序,看程序。二、要多敲代码,只有写过足够多的代码才能熟练的运用,一开始我总是去看而不是自己动手,这样等到自己真正要用到的时候才发现有些东西只是自己以为懂了,真正用到的时候根本写不出来,十分尴尬。三、自学很重要。不论是老师讲的例题还是书上或是自己找的项目都要自己动手做,不会的尽量...原创 2018-02-26 19:48:19 · 2883 阅读 · 0 评论 -
C语言重点语法总结
指针:(C语言中的精华)1 概念指针其实就是一个变量的地址。都知道如果在程序中定义了一个变量,那么在对程序进行编译时,系统就会给这个变量分配内存单元。这个内存单元就是这个变量的地址。刚已说过,指针其实就是一个变量的地址。则指针其实就是通过这个地址指向这个变量。也就是说,指针是一个地址,而指针变量是存放地址的变量。 2 定义定义一个指针变量:基类型 *指针变量名;如float *p1; ...转载 2018-02-26 19:51:39 · 710 阅读 · 0 评论 -
CNN介绍
卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。本文首发 : http://www.liuhe.website/index.php?/Articles/single/37概揽卷积神经网络(Convolutional Neural Networks / CNNs / C...转载 2018-04-24 19:25:38 · 8111 阅读 · 0 评论 -
pthread_create函数
函数原型:int pthread_create(pthread_t *tid, const pthread_attr_t *tattr, void*(*start_routine)(void *), void *arg);功能:创建一个新的线程,并将线程加入当前进程头文件:#include <pthread.h>pthread非linux系统的默认库,需手动链接-线程库 -lpthre...原创 2018-05-19 19:38:11 · 3716 阅读 · 0 评论 -
fopen用法
最近在做聊天室时写到文件传输功能,使用到了fopen函数。发现相比于open函数在参数上要简单很多。表头文件 #include 定义函数 FILE * fopen(const char * path,const char * mode); 函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。 mode有下列几种形态字符串: r 打...原创 2018-05-27 23:06:40 · 16230 阅读 · 0 评论 -
‘\n’的作用
‘\n’是换行使光标下移一格,通常和‘\r’组合起来表示Enter。 Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回 车>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打 开的话,所有文字会变成一行;而Windows里的文...原创 2018-05-24 09:41:34 · 13657 阅读 · 0 评论 -
MakeFile学习笔记(一)
相关知识来自于:http://blog.csdn.net/haoel/article/details/2886makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成...原创 2018-05-24 09:55:36 · 279 阅读 · 0 评论 -
MakeFile学习笔记(二)
上一次我们学到如何在Makefile中使用变量,接下来让我们了解一下Makefile的自动推导等知识。GNU的make很强大,它可以自动推导文件以及文件依赖关系后面的命令,于是我们就没必要去在每一个[.o]文件后都写上类似的命令,因为,我们的make会自动识别,并自己推导命令。 只要make看到一个[.o]文件,它就会自动的把[.c]文件加在依赖关系中,如果make找到一个whatever....原创 2018-05-31 16:29:10 · 257 阅读 · 0 评论 -
opendir()和readdir()函数
1. opendir()头文件 #include<sys/types.h> #include<dirent.h>函数原型 DIR* opendir (const char * path ); (获取path子目录下的所由文件和目录的列表,如果path是个文件则返回值为NULL)功能 打开一个目录,在失败的时候返回一个空的指针。 错误代码: ...原创 2018-07-10 17:08:14 · 17487 阅读 · 0 评论 -
C总结归纳
对于基本数据类型,要掌握:各种数据类型的长度(任何数据类型的指针都是4字节长度,包括对象指针);C语言中的六种基本的数据类型:short,int,long,char,float,double; 记住<char,unsigned char,unsigned int>这些数据类型的取值范围,如果越界,会是什么情况?比如unsigned char 的取值范围是0-255,定...原创 2018-08-13 19:39:04 · 1023 阅读 · 0 评论 -
隐式类型转换
表达式会包含隐式类型转换,它由编译器自动执行,不需程序员介入。何时发生隐式类型转换1. 在混合类型的表达式中,操作数会被转换为相同类型int ival; double dval;ival >= dval; // ival converted to double2. 条件表达式会被转换为bool类型。int ival; if (ival) // ival conver...原创 2018-09-01 10:48:01 · 490 阅读 · 0 评论 -
C语言学习(十三)——typedef用法
引言typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。typede转载 2018-01-28 10:48:14 · 317 阅读 · 0 评论 -
C语言学习(九)——栈
栈是一个特殊的线性表,只能在一端操作;栈顶(top):允许操作 的一端;栈底(bottom):不允许操作的一端堆栈的定义1.栈:是限定仅在表尾进行插入和删除操作的线性表;又称后进先出的线性表。LIFO结构。 栈顶top:允许插入和删除的一端; 栈底bottom:另外一端;2. 空栈:不含任何数据元素的栈;top=-1;3. 栈的操作:原创 2018-01-07 20:50:19 · 635 阅读 · 0 评论 -
C语言学习——二叉树(一)
本文转载自http://blog.csdn.net/it_ds/article/details/50810498树的定义:树是n(n≥0)个结点的有限集,它或为空树(n=0),或为非空树非空树T满足以下条件:(1) 有且仅有一个称为根的结点;(2)除根结点以外的其余结点可分为m(m>0)个互补相交的有限集T1,T2,…Tm,其中每一个集合本身又是一棵树,并且称为根的子树。基本术语根———即根结点(转载 2018-01-18 20:35:46 · 558 阅读 · 0 评论 -
初入C语言——关于C语言的简单认知
1. 什么是计算机程序?什么是编程语言?为什么需要编程语言?编程语言是用来干嘛的?举例一些编程语言,以及他们各自的特点?(1)计算机程序是指一组指示计算机执行动作或做出判断的指令,通常用某种程序设计语言编写,运用于某种目标体系结构上。(2)编程语言是用来定义计算机程序的形成语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数原创 2017-11-17 18:26:15 · 595 阅读 · 0 评论 -
C语言学习知识点(一):sizeof与strlen
sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。其返回值类型为size_t,在头文件stddef.h中定义。这是一个依赖于编译系统的值,一般定义为:typedef unsigned int size_t;sizeof语法:sizeof有三种语法形式,如下: 1) sizeof( object原创 2017-11-23 18:15:34 · 353 阅读 · 0 评论 -
C语言学习知识点(四):数组名a与取地址数组名&a的区别
让我们看这样一段程序int a[]={1,2,3,4};int *p=(int*)(&a+1);printf(“%d\n”,*(p-1));该程序输出结果为4即数组a的最后一个元素;因此我们可以认为在这段程序中&a+1后的地址应为数组最后一个元素的后一位a[0]1a[1]2a[2]3原创 2017-12-04 23:07:35 · 950 阅读 · 0 评论 -
C语言学习(十)——队列
队列是特殊的线性表;队列仅在线性表两端进行操作;队头(Front):取出数据的一端;队尾(Rear):放入数据的一端;循环队列: 1.队列顺序存储的不足: 避免出现只有一个元素时,队头和队尾的重合处理麻烦, 引入front指向队头元素,rea指向队尾元素的下一个位置; front=rear时,队列不是还剩一个元素,而是空队列; 2原创 2018-01-11 20:43:06 · 373 阅读 · 0 评论 -
C语言学习(七)——typeof关键字
C语言中 typeof 关键字是用来定义变量数据类型的。在linux内核源代码中广泛使用。typeof参数可以是表达式或类型下面是Linux内核源代码中一个关于typeof实例:[cpp] view plain copy #define min(X,Y) ({\ typeof (X) x_ = (X);\原创 2017-12-28 21:43:14 · 2326 阅读 · 0 评论 -
C语言学习(六)——二重指针概念及其应用
二重指针就是指向指针的指针。其声明原型为:[cpp] view plain copydatatype ** variable_name; 假设我们声明并定义了三个变量:[cpp] view plain copyint a = 1; /*整数类型变量*/ i转载 2017-12-22 09:15:46 · 848 阅读 · 0 评论 -
c语言学习(五)scanf函数应用以及问题
由于scanf可以读取不同格式的数据,因此成为了C语言中最通用的一个输入函数让我们看这一段程序: 1 #include 2 #include 3 4 5 int main() 6 { 7 int age; 8 float assets; 9 char p原创 2017-12-09 14:02:40 · 403 阅读 · 0 评论 -
C语言学习(二):define和inline
#define(宏定义)标识符 替换列表(替换列表可以是数,字符串字面量,标点符号,运算符,标识符,关键字,字符常量。注意:替换列表是可以为空的) #define MAXTIME1000这就定义好了一个简单的MAXTIME定义,编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。注:define的定义更像是简单的文本替换让我们来看下面一个列子:#include转载 2017-11-24 20:31:15 · 592 阅读 · 0 评论 -
C语言学习(八)——简单通讯录
链表的增删改查及简单的用户交互界面原创 2018-01-03 22:16:34 · 383 阅读 · 0 评论 -
C语言学习——二叉树(二)
二叉树相关代码:创建二叉树Status CreateTree(BiTree*T){TElemType ch;ch = str[zb++];if(ch == '#')//判出条件return 0;*T = (BiTree)malloc(LONG);if(!*T)return ERROR;(*T)->data = ch;CreateTree(&((*T)原创 2018-01-21 20:30:05 · 401 阅读 · 0 评论 -
Linux进程间通信——消息队列
消息队列: 1.一种从一个进程向另外一个进程发送数据块的方法; 2.每个数据块都被认为是有一个类型,接受者进程接收的数据块可以有不同的类型值; 3.消息队列的读取不一定是先入先出; 4.消息队列的生命周期是随内核的;原创 2018-02-01 16:48:58 · 350 阅读 · 0 评论 -
C语言学习(十一)——C语言的内存分配
一个由C/C++编译的程序占用的内存分为以下几个部分(1)代码区(text segment)。存放CPU执行的机器指令(machine instructions)。通常,代码区是可共享的(即另外的执行程序可以调用它),因为对于频繁被执行的程序,只需要在内存中有一份代码即可。代码区通常是只读的,使其只读的原因是防止程序意外地修改了它的指令。另外,代码区还规划了局部变量的相关信息。(2)全局初始化数据原创 2018-01-17 20:21:49 · 375 阅读 · 0 评论 -
C语言学习(十二)——段错误(一)
学习C语言有一段时间了,作为一个新手,写的东西总是会出现很多错误,也该了不少错误。其中,特别难改的就是段错误;所以在这里总结一些遇到的段错误:首先什么是段错误?一旦一个程序发生了越界访问,cpu 就会产生相应的保护,于是 segmentation fault 就出现了,通过上面的解释,段错误应该就是访问了不可访问的内存,这个内存区要么是不存在的,要么是受到系统保护的,还有可能是缺少文件或者文件原创 2018-01-25 22:30:15 · 1162 阅读 · 0 评论 -
C语言中的main返回值
C语言几乎是所有人的第一个编程语言,而main函数则又是我们接触到的第一个函数。我们的所有程序都需要main函数,对于下面的代码,相信大家再熟悉不过了。 [cpp] view plain copyprint?#include <stdio.h> void main() { printf("I am main function./n");...原创 2018-10-07 20:16:13 · 728 阅读 · 0 评论