自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程创建等待及退出

编译程序:gcc 函数名.c -pthread。

2023-06-12 21:26:20 41

原创 信号量实现

信号量实现

2023-05-18 21:22:21 58

原创 枚举enum类型

#include<stdio.h>enum Weekday {sun,mon,tus,wed,thu,fri,sat} w1,w2;int main(){ //enum Weekday w; w1 = mon; w2 = tus; if(w1 < tus) { printf("haha\n"); } printf("w1 = %d\n",w1); printf("w2 = %d\n",w2); return 0;}

2022-04-25 17:10:14 68

原创 共用体案例

#include<stdio.h>struct Person{ char name[32]; int age; char zhiye; char addr[32]; union D { int class; char keMu[12]; } mes;};int main(){ struct Person p[2]; int i; for(i=0;i<2;i++) { printf("请输入职业:t代表老师,s代表学生\n"); scanf("

2022-04-25 16:27:25 240

原创 结构体指针函数

#include<stdio.h>#include<string.h>#include<stdlib.h>struct XuanMin{ char name[32]; int tickets;};struct XuanMin *initXm(struct XuanMin *p,int *pn){ int i; if(p == NULL) { printf("请输入有几个人参选:\n"); scanf("%d",pn); p = (str

2022-04-25 15:04:30 159

原创 结构体票选

#include<stdio.h>#include<string.h>#include<stdlib.h>struct XuanMin{ char name[32]; int tickets;};int main(){ struct XuanMin xm[3]; struct XuanMin max; int i,j; int len; int total = 5; char tmpName[32]; int mark; int feip

2022-04-25 10:17:17 213

原创 函数指针编程实战-回调函数

#include<stdio.h>#include<stdlib.h>int getMax(int data1,int data2){ return data1 > data2 ? data1:data2;}int getMin(int data1,int data2){ return data1 < data2 ? data1:data2;}int getSum(int data1,int data2){ return data1 + data2

2022-04-24 15:54:25 51

原创 函数指针1

#include<stdio.h>void printWelcome(){ puts("欢迎光临!\n");}int main(){ void (*p)();//定义一个函数指针变量 p = printWelcome;//指向函数 printWelcome(); (*p)();//调用 return 0;}

2022-04-24 14:54:28 48

原创 数组指针和二维数组的配合应用

#include<stdio.h>void inputIhangLie(int *pm,int *pn){ printf("输入行列值:\n"); scanf("%d%d",pm,pn); puts("done!");}int getData(int (*p)[4],int hang,int lie){ int data; data = *(*(p + hang) + lie); return data; //return p[hang][lie];}int ma

2022-04-24 14:53:40 60

原创 数组指针1

#include<stdio.h>int main(){ int arr[3][4] = {{11,22,33,44,},{55,66,77,88},{99,111,333,222}}; int *p; //p = &arr[0][0]; //p = arr; //定义一个指针,让指针偏移的时候,也偏移对应大小的数组 //数组指针,定义一个指针,指向一个数组 //数组指针才是真正等同于二维数组名 int (*p2)[4]; p2 = arr; printf("p2

2022-04-24 14:07:49 53

原创 二维数组的地址写法应用

gcc XXX.c -g,加-g表示程序可调试,gbd a.exe进行程序调试,程序开始进入待运行状态,输入r(表示run,开始逐步运行),可查找程序运行状态哪里出错,退出按q。#include<stdio.h>int main(){ int arr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int i,j; for(i = 0;i < 3;i++) { for(j = 0;j < 4;j++) { print

2022-04-24 00:23:23 212

原创 定义一个指针变量指向数组

#include<stdio.h>int main(){ int arr[] = {1,2,3}; int *p; p = &arr[0];//数组的首地址就是首个元素的地址 p = arr;//数组名就是数组的首地址 printf("首元素是:%d\n",*p); return 0;}

2022-04-23 20:32:36 772

原创 输入三个数a,b,c; 要求不管怎么输入,在输出的时候,a,b,c就是由大到小的顺序输出,用函数封装实现

#include<stdio.h>void changeData(int *pa,int *pb,int *pc){ int tmp; if(*pa < *pb) { tmp = *pa; *pa = *pb; *pb = tmp; } if(*pa < *pc) { tmp = *pa; *pa = *pc; *pc = tmp; } if(*pb < *pc) { tmp = *pb; *pb = *pc; *pc

2022-04-23 20:12:05 236

原创 为什么要用指针之场景一

#include<stdio.h>void changeData(int *pdata,int *pdata2){ int tmp; tmp = *pdata; *pdata = *pdata2; *pdata2 = tmp;}int main(){ int data = 10; int data2 = 20; printf("交换前:data = %d,data2 = %d\n",data,data2); changeData(&data,&dat

2022-04-23 19:43:07 41

原创 指针变量引入

#include<stdio.h>int main(){ //什么是整形变量,存放整型数的变量 int //什么是字符变量,存放字符型数据的变量 char //什么是指针变量,存放指针的变量 * //什么是指针变量,存放地址的变量 int a = 10; int *p;//这里的*是一个标识符,告诉系统我是一个指针变量,是用来保存别人地址的,和下方的运算符不同 p = &a; printf("变量名访问a:%d\n",a); printf("a的地址是:0x%

2022-04-23 17:59:50 50

原创 全局变量运用

#include<stdio.h>int max;int min;float aver;void getResult(int arr[],int len){ int i; int sum = 0; //float aver; max = min = arr[0]; for(i = 0;i < len;i++) { if(max < arr[i]) { max = arr[i]; } if(min > arr[i]) { mi

2022-04-23 17:21:10 131

原创 二维数组案例

#include<stdio.h>void printArry(int arry[][3],int ihang,int ilie){ int i,j; for(i = 0;i<ihang;i++) { for(j = 0;j < ilie;j++) { printf("%d ",arry[i][j]); } putchar('\n'); }}void initArry(int arry[][3],int ihang,int ilie){ i

2022-04-23 16:34:55 138

原创 数组实战之计算不同班级学生的平均分

#include<stdio.h>void initArry(int arry[],int len){ int i; for(i = 0;i < len;i++) { printf("请输入第%d个学生的成绩\n",i+1); scanf("%d",&arry[i]); } puts("done");}void printArry(int arry[],int len){ int i; printf("总人数%d个\n",len); for(i =

2022-04-23 15:40:30 217

原创 数组传参中关于形式参数

数组名当做函数实际参数

2022-04-23 14:01:39 282

原创 二维数组常识

二维数组中没写的数据,默认0补充,二维数组可以不写行数,但是要写列数。#include <stdio.h>int main(){ int array[2][3] = {21,45,65,341,52,45}; int array1[2][3] = {{2,4},{23}};//默认的为0 int array2[][3] = {21,45,65,341,52,45};//可以不写行,但是要写列 int i,j; for(i=0;i<2;i++) { for(j=0;j

2021-08-10 16:45:14 949

原创 sizeof关键字

sizeof是关键字,不是函数,能计算括号中数据的内存空间大小#include <stdio.h>int main(){ int array[] = {24,4356,456,423,5,63,234}; int i,size; size = sizeof(array)/sizeof(array[0]);//sizeof是关键字,不是函数,能计算括号中数据的内存空间大小 for(i=0;i<size;i++) { printf("array[%d] = %d\n",i,

2021-08-09 23:22:32 63

原创 break和continue

break是跳出整个函数的循环,continue是跳出本次循环(不执行余下的语句),进入下一轮循环。#include <stdio.h>int main(){ int student; int money = 0; int sum = 0; for(student = 1;student <=1000;student++) { printf("请输入第%d个学生捐款数额:",student); scanf("%d",&money); printf("第

2021-08-09 14:15:22 46

原创 switch_case

根据switch()中判断的内容,直接跳到case对应的入口,接着按顺序一句一句往下执行,遇到break,则跳出switch函数。**default:**如果default语句在所有case最后,此时可以不加break,如果default语句之后还有case语句,不加break,则default语句执行过之后会继续下面的case语句,此时必须要在default之后加break语句,不过这种default用法是不推荐的。default顾名思义是缺省情况,只有任何条件都不匹配的情况下才会执行,所以应该将de

2021-08-08 23:54:32 53

原创 return返回值

程序遇到return,便执行结束,返回一个return后面带的值。一般默认定义0表示程序执行成功,-1表示执行不成功。也可以表示真假,1为真,0为假。也可以返回其他数值。可以用 echo %errorlevel% 命令查看返回值,来判断程序执行的情况。...

2021-08-08 22:14:29 155

原创 puts跟printf的区别

puts跟printf的区别:1.自动加入换行符2.printf支持多种花样输出,而puts只输出字符串#include <stdio.h>int main(){ char a; puts("请输入一个字符:"); a = getchar(); puts("输入的字符是:"); putchar(a); return 0;}...

2021-08-07 18:12:06 189

原创 %f占位符

占位符%p是地址占位符,用&取地址%f是小数占位符,前面可以带数字,例如:%5.2f,表示共显示5位数字,其中小数点后显示2位,默认向右对齐,向左对齐要加减号(%-5.2f)#include <stdio.h>int main(){ int a = 21; int aa = 10; int bb = 3; char b = '$'; float c = 2.354; float cc; cc = (float)aa/bb; printf("数字a = %d\n"

2021-08-06 23:30:33 10377

空空如也

空空如也

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

TA关注的人

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