c语言
costeeer
这个作者很懒,什么都没留下…
展开
-
C语言———指针
1.指针的类型与指针所指向的类型的区别从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的类型:(1)int*ptr;//指针的类型是int*(2)char*ptr;//指针的类型是char*(3)int**ptr;//指针的类型是int**原创 2017-10-19 19:38:12 · 268 阅读 · 0 评论 -
C/C++中static关键字作用总结
1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可)当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。举例来说明。同时编译两个源文件,一个是a.c,另一个是main.c。//a.cchar a = 'A'; // global variablevoid msg(){ pri...转载 2018-08-10 22:56:04 · 1593 阅读 · 0 评论 -
c语言实现输出2的1000次方
//用数组来模拟它的进位#include int main(void) { int a[1000]; //先定义一个足够大的数组 int i,j; for(i=0; i<1000; i++) //先置零 { a[i] = 0; } a[0] = 1原创 2018-01-29 15:31:59 · 1265 阅读 · 0 评论 -
单链表的建立,把a~z 26个字母插入到链表中,并且倒叙,还要打印
#include #includetypedef struct linklist { char ff; struct linklist *next;}Node; typedef Node* Linklist;int main(){ Linklist L, new; L = (Linklist)malloc(sizeof(Node)); L->next = NULL原创 2018-01-25 19:47:28 · 2671 阅读 · 0 评论 -
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位?
#includeint main(){ int n, i, temp, count = 0; printf("输入人数:\n"); scanf("%d", &n); int a[n]; temp = n; for(i = 0; i < temp; i++) { a[i] = i+1; } i = 0; while(temp > 1) { if(a[i] != 0原创 2018-01-25 19:38:12 · 475 阅读 · 0 评论 -
不用库函数,用c语言实现将一整型数字转化为字符串
#include#includeint main(){ int n; char s[100] = {0}; int i = 0, j, flag = 0; char temp; scanf("%d", &n); if(n < 0)//为负数 { n = -n; flag = 1; } if(n == 0)//数字为0 { s[i++] = '0'; }原创 2018-01-25 19:42:49 · 1973 阅读 · 0 评论 -
C语言中堆和栈的区别
一.前言:C语言程序经过编译连接后形成编译、连接后形成的二进制映像文件由栈,堆,数据段(由三部分部分组成:只读数据段,已经初始化读写数据段,未初始化数据段即BBS)和代码段组成,如下图所示:1.栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量等值。其操作方式类似于数据结构中的栈。2.堆区(heap):一般由程序员分配释放,若程序员不释放,则可能会引起内存转载 2018-01-25 18:40:10 · 213 阅读 · 0 评论 -
聊天室项目
网络编程项目要求一、 实现目标 一个在 Linux 下可以使用的聊天软件,要求至少实现如下功能:1. 采用 Client/Server 架构2. Client A 登陆聊天服务器前,需要注册自己的 ID 和密码3. 注册成功后,Client A 就可以通过自己的 ID 和密码登陆聊天服务器4. 多个 Client X 可以同时登陆聊天服务器之后,与其他用户进行通讯聊天5原创 2018-01-23 16:03:28 · 913 阅读 · 0 评论 -
C语言---多进程
1.进程的定义标准定义:进程是可并发执行的程序,是在一个数据集合上的运行过程。 通俗来说,硬盘上的一个可执行文件经常被称为程序,在Linux系统中,当一个程序开始执行后,在开始执行到执行完毕退出这段时间里,它在内存中的部分就被称作一个进程。2.进程的分类进程一般分为交互进程、批处理进程和守护进程三类。 守护进程总是活跃的,一般是后台运行。守护进程一般是由系统在开机时原创 2017-11-23 20:29:29 · 950 阅读 · 0 评论 -
C语言——文件操作
1.Linux下的文件在Linux操作系统中,它对一切资源的管理都是对文件的操作。 在现代操作系统中, 要利用大量的程序和数据,由于内存容量有限,且不能长期保存,于是,人们把这些数据以文件的形式放在外存中,需要的时候再将它们调入内存,从此便有了文件系统。2.Linux目录结构http://blog.csdn.net/Silence_Fall/article/details/62原创 2017-11-23 20:19:26 · 209 阅读 · 0 评论 -
初识数据结构
1.基本概念线性表(List):由零个或多个数据元素组成的有限序列。 2.注意:1.线性表是一个序列。2.0个元素构成的线性表是空表。3.线性表中的第一个元素无前驱,最后一个元素无后继,其他元素有且只有一个前驱和后继。4.线性表是有长度的,其长度就是元素个数,且线性表的元素个数是有限的,也就是说,线性表的长度是有限的。如果用数学语言来原创 2017-10-26 19:46:57 · 149 阅读 · 0 评论 -
c语言———预处理,结构体
1.什么是结构体结构体是一种专门设计用来存储不同数据类型元素集合结构体与数组的对比:数组:只能由多个相同类型的数据构成。结构体:可以由多个不同类型的数据构成。2.结构体的定义结构体内部的元素,也就是组成成分,我们一般称为”成员”。结构体的一般定义形式为:struct 结构体名{类型名1 成员名1;类型名2 成员名2;……类型名n原创 2017-10-26 19:44:54 · 296 阅读 · 0 评论 -
栈与队列 c语言
1栈的定义,特点 定义:栈(stack)是限定仅在表尾进行插入和删除操作的线性表。 特点:先入后出,后入先出2 栈的注意点首先它是一个线性表,也就是说,栈元素具有线性关系,即前驱后继关系。只不过它是一种特殊的线性表而已。定义中说是在线性表的表尾进行插入和删除操作,这里表尾是指栈顶,而不是栈底。它的特殊之处就在于限制了这个线性表的插入和删除位置,它始终只在栈顶进行。这也就使得:栈底是原创 2017-11-02 22:02:34 · 218 阅读 · 0 评论 -
C语言----- 函数
函数:C 源程序由多个函数组成,main函数是主函数,有且只能有一个main函数。它可以调用其他函数,调用结束后返回main函数,最后由main函数结束整个程序。在 C 中函数的定义可以在main函数之前也可以在main函数之后。如果在main函数之后定义,则在main函数之前进行函数的声明。函数的声明 即 你定义函数的第一行,在最后加上一个分号即可; 无参函数定义格式:类原创 2017-10-19 19:42:07 · 182 阅读 · 0 评论 -
Linux的僵尸进程产生原因及解决方法
今天在做基于madplay的MP3项目的时候遇到了一个问题,就是在停止播放时用 kill( )函数 想要杀死孙进程和子进程,但子进程一直杀不死,导致每次又重新播放歌曲。查阅资料觉得可能时产生了僵尸进程。这个是所谓的zombie(僵尸进程)是指在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待...原创 2018-08-24 18:43:21 · 2302 阅读 · 1 评论