自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 静态库的制作

2021-03-27 11:05:01 144

原创 实现一个删除共享内存的例子

2021-03-13 10:40:46 172

原创 信号通信1

2021-03-11 21:03:51 149

原创 二维数组传参

2021-03-01 17:10:27 117

原创 一维数组的传参方式

2021-03-01 16:53:16 361

原创 my_cmp

#include <stdio.h>#include <stdlib.h>int my_cmp(char *s1,char *s2){ int i=0; for(i=0;s1[i]!='\0'||s2[i]!='\0';i++){ if(s1[i]-s2[i]!=0){ return s1[i]-s2[i]; } } return 0;}int main(){ char h[10

2021-03-01 16:23:19 207 1

原创 my_strlen

#include <stdio.h>#include <stdlib.h>int my_strlen(char *s){ int i=0; for(i=0;s[i]!='\0';i++); return i;}int main(){ char str2[100]="cvbg"; int x=my_strlen(str2); printf("===%d",x); return 0;}

2021-03-01 16:19:50 133 1

原创 my_cat

#include <stdio.h>#include <stdlib.h>//拼接函数char *my_cat(char *dest,char *s){ int i=0; int j=0; int k=0; for(i=0;dest[i]!='\0';i++); for(j=i,k=0;s[k]!='\0';j++,k++){ dest[j]=s[k]; } dest[j]='\0';

2021-03-01 16:19:00 87

原创 my_cpy

#include <stdio.h>#include <stdlib.h>int my_cmp(char *s1,char *s2){ int i=0; for(i=0;s1[i]!='\0'||s2[i]!='\0';i++){ if(s1[i]-s2[i]!=0){ return s1[i]-s2[i]; } } return 0;}int main(){ char h[10

2021-03-01 16:18:01 297

原创 递归

递归需要满足两个条件:1.自己调用自己2.q!=0

2021-02-25 20:59:05 118

原创 函数的基本概念

2021-02-23 22:15:03 108

原创 指针管理堆区结构体数组

2021-02-23 11:30:05 136

原创 指针管理堆区结构体

2021-02-23 11:18:31 106

原创 指针管理结构体数组

2021-02-23 11:16:46 98

原创 指针与结构体

2021-02-22 20:51:47 95

原创 枚举

2021-02-22 20:42:58 88

原创 共用体

共用体:同一时刻只能一个变量使用。作用:如果需要某一时刻,只能一个变量使用的时候,使用。共用体是以最大的变量分配地址。

2021-02-22 20:32:13 88

原创 tepydef关键字的使用

2021-02-21 21:51:15 469 1

原创 多重指针

2021-02-20 22:01:58 607 1

原创 指针的偏移

2021-02-20 21:33:31 184

原创 指针具体类型的作用

2021-02-20 20:40:55 238

原创 各种指针类型变量占内存大小

为什么所有的指针都是8个字节呢?因为地址都是8个字节的,指针是放地址的。

2021-02-19 21:18:53 752

原创 各种指针占内存的大小

2021-02-19 20:56:09 297

原创 指针基本原理

2021-02-19 16:19:47 360

原创 计算机原理

2021-02-19 15:38:26 84

原创 各种类型的最大值和最小值

2021-02-18 19:47:50 338

原创 c语音第一节

2021-02-18 15:25:27 114

原创 tcp服务器的创建方法

2021-02-17 14:33:49 251

原创 条件变量

2021-02-14 16:22:39 82

原创 读写锁

头文件#include <pthread.h>互斥量初始化与销毁int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);int pthread_mutex_destroy(pthread_mutex_t *mutex);简单的使用可以使用默认的属性初始化互斥量,函数的后一个参数设置为NULL即可。互斥量加锁解锁int pthread_mutex

2021-02-14 16:15:17 118 1

原创 互斥锁

#include<stdio.h>#include<pthread.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/types.h>struct student {int age ;int name;int id;}stu;//定义两个全局变量int i=0;pthread_mutex_t mutex;void..

2021-02-12 20:16:55 91 1

原创 为什么要使用互斥量

#include<stdio.h>#include<pthread.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/types.h>struct student {int age ;int name;int id;}stu;int i=0;void *thread_fun1(){while(1){stu.a..

2021-02-12 16:16:52 157

原创 线程的清理

#include<stdio.h>#include<pthread.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/types.h>void *fisrt_clean(){printf(" fisrt clean\n");return (void *) 0;}void *senced_clean(){printf(.

2021-02-12 15:27:49 169

原创 线程的取消

逻辑分析图#include<stdio.h>#include<pthread.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/types.h>void *fun(){ int setv; setv=pthread_setcancelstate(PTHREAD_CANCEL_DISABLE,NULL); if(set.

2021-02-10 11:34:17 78

原创 线程连接

#include<stdio.h>#include<pthread.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/types.h>void *fun1(){printf("xc1\n");return (void *)1;}void *fun2(){printf("xc2\n");//fenglixcpthre.

2021-02-09 16:10:19 90

原创 不终止进程退出的方式

#include<stdio.h>#include<pthread.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/types.h>void *thread_fun(void *agr){ if(strcmp("1",(char *)agr)==0){ printf("new thraed return \n"); retu..

2021-02-08 22:00:13 143

原创 线程的四个基态

2021-02-06 08:30:21 92

原创 线程

2021-02-05 21:12:55 75

原创 信号量

信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。信号量的值为正的时候,说明它空闲。所测试的线程可以锁定而使用它。若为0,说明它被占用,测试的线程要进入睡眠队列中,等待被唤醒。为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据更新的代码需要独占式地执行。而信号量就可以提供这样的一种访问机制,让一个临界区同一时间只有一个线程在访问它,也就是说信

2021-01-21 19:50:05 1008

原创 共享内存

-写端//创建或获取一个共享内存,成功返回共享id,失败返回-1;int shmget(key_t key, size_t size, int shmflg);//2。连接共享内存到当前进程的地址空间,成功返回指向共享内存的指针,失败返回-1void *shmat(int shmid, const void *shmaddr, int shmflg);//3.断开与共享内存的连接 ;成功返回0,失败返回-1;int shmat(void *addr);//4.控制共享内存的相关信息,成功返

2021-01-20 11:47:14 66

空空如也

空空如也

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

TA关注的人

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