C语言基础
文章平均质量分 53
小热茶
喵喵喵?
展开
-
在linux里,C语言实现屏蔽ctrl+c等操作
void shell_signal_init(){ signal(SIGINT, shell_sig_handle); // SIGINT = 2, 用户键入Ctrl-C signal(SIGQUIT, shell_sig_handle); // SIGQUIT = 3 用户键入Ctr+\ signal(SIGCHLD, shell_bg_signal_handle); //SIGCHLD = 17,一般在子进程中止时产生原创 2022-02-21 21:08:43 · 1429 阅读 · 0 评论 -
自己用C语言实现Printf(二)
上一节分析了怎么实现printf但是在实践时候又发现了点东西分享一下,本节主要是在linux平台用gcc实现打印。在南大JYY的实验课程里M1需要自己实现Printf,给了putch和putstr接口#ifndef KLIB_MACROS_H__#define KLIB_MACROS_H__#define ROUNDUP(a, sz) ((((uintptr_t)a) + (sz) - 1) & ~((sz) - 1))#define ROUNDDOWN(a, sz) (原创 2021-11-01 15:03:25 · 424 阅读 · 0 评论 -
自己用C语言实现printf
本文参考:https://www.pianshen.com/article/35981882012/前提的头文件://==================================================================================================typedef char* va_list;#define _INTSIZEOF1(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(i原创 2021-10-27 16:03:03 · 2045 阅读 · 1 评论 -
正则表达式实现提取IP地址字符串
获取IP的话一般使用ifconfig虽然网上很多用grep或者awk的,但是如果没有这些库的话怎么匹配字符串呢?提取ip地址我的思路是先system(ifconfig > file)输出到指定文件,然后读取文件匹配字符串,如果能够读出来可以用fets和strstr函数来识别ip addr字符匹配到那一行,之后通过正则表达式把那一行的关键提取出来:#define _CRT_SECURE_NO_WARNINGS //VS2019用的宏,可删#include<stdio.h>#原创 2021-10-19 19:35:07 · 3215 阅读 · 0 评论 -
【C语言提高篇---memset函数】C语言memset函数详解
在前面不止一次说过,定义变量时一定要进行初始化,尤其是数组和结构体这种占用内存大的数据结构。在使用数组的时候经常因为没有初始化而产生“烫烫烫烫烫烫”这样的野值,俗称“乱码”。每种类型的变量都有各自的初始化方法,memset() 函数可以说是初始化内存的“万能函数”,通常为新申请的内存进行初始化工作。它是直接操作内存空间,mem即“内存”(memory)的意思。该函数的原型为:# include <string.h>void *memset(void *s, int c, unsigned转载 2021-06-23 14:55:52 · 544 阅读 · 1 评论 -
C语言基础(结构体与共用体)
C语言基础(结构体与共用体)一、结构体1、结构体的定义结构体是一种复合的数据类型,里面可以包含多个单一的数据类型在结构体变量定义之前往往需要先设计结构体,定义结构体的名称和成员的数据类型,然后使用结构体说明变量,这时候结构体就成了一种新的数据结构。定义结构体往往用struct来修饰:struct 结构体名{ 成员项列表};结构体名是该结构体独一无二的名称,命名规则与变量命名相同。成员项列表是结构体中数据成员的数据类型和名称,数据成员可以是变量、数组、或者其他结构体.原创 2021-05-22 19:45:40 · 735 阅读 · 0 评论 -
C语言学习基础篇(二)
变量#include<stdio.h>int main(int argc, char **argv){ int price = 0; printf(" 请输入金额(元):"); scanf("%d",&price); int change = 100-price; printf("找您%d元\n",change); return 0; } 注意:scanf里不要瞎写,容易出错。#include<stdio.h&..原创 2021-05-16 16:00:29 · 174 阅读 · 0 评论 -
C语言学习基础篇(一)
C语言学习基础篇(一)Helloworld#include<stdio.h>int main(int argc, char **argv){ printf("Hellp World!\n"); return 0;}#include<stdio.h>int main(int argc, char **argv){ printf("Hellp World!\n"); printf("2+3=%d", 2+3); return 0;}...原创 2021-05-03 00:24:02 · 88 阅读 · 0 评论