![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
文章平均质量分 63
Claroja
这个作者很懒,什么都没留下…
展开
-
C语言 #define
定义常量#define WIDTH 1920 #define HEIGHT 10802.定义函数3.条件宏#ifdef WINDOWS ...... ......#endif4.定义宏#define [MacroName] [MacroValue] //定义宏#undef [MacroName] //取消宏其他内联函数参考:https://blog.csd...原创 2020-01-09 21:16:04 · 452 阅读 · 0 评论 -
C语言 rand和srand
参考:https://blog.csdn.net/u013745804/article/details/82379266原创 2020-01-01 21:44:22 · 1068 阅读 · 0 评论 -
c语言 布尔类型
基础c语言没有定义哈布尔类型,约定0为假,非0为真#include <stdio.h>int main(void){ if (1) { printf("hello world"); } getchar(); return 0;}使用define(不建议)#define BOOL int#define TRUE 1#define FALSE 0#in...原创 2020-01-01 12:40:37 · 1368 阅读 · 0 评论 -
c语言 字符串转化
基础这些函数都在表头文件 #include<stdlib.h>中方法atof(将字符串转换成浮点型数)double atof(const char *nptr) 将字符串转换为浮点数strtod(将字符串转换成浮点数)定义函数 double strtod(const char *nptr,char **endptr);#include<stdlib.h>...原创 2020-01-01 12:40:03 · 1062 阅读 · 1 评论 -
C语言 时间类型
time.h定义的类型:time_t|表示距离 UTC 时间 1970-01-01 00:00:00 的秒数,类型是 longclock_t|占用cpu的时间struct tm|存储年月日的结构体(time_t不易人来读)struct tm{ int tm_sec; /* Seconds: 0-59 (K&R says 0-61?) */ int tm_min...原创 2020-01-01 12:39:27 · 3963 阅读 · 0 评论 -
C语言 函数参数
基础函数的形参都是原数据的“副本”,在函数自己栈中申请内存函数中参数都是传值,传指针本质上也是传值如果想要改变入参内容,则需要传该入参的地址(指针和引用(c++)都是类似的作用)形参与实参普通变量参数函数内部用的参数是形参,传入函数的参数是实参形参会在函数栈空间再开辟内存,复制实参的内容函数结束后,栈空间,形参也随之消失#pragma warning(disable:49...原创 2020-01-01 12:38:24 · 1291 阅读 · 0 评论 -
C语言 结构体对齐
结构体本来应该占用1(char)+4(int)=5个字节,但是为了对齐,实际上占了1(char)+3(补充)+4(int)=8个字节这是因为计算机读取数据时,一般标准化4个字节读取,为了节约时间,牺牲3个字符大小的内存,以空间换时间#pragma warning(disable:4996)#include <stdio.h>struct test { char a; i...原创 2020-01-01 12:37:54 · 648 阅读 · 0 评论 -
C语言 结构体参数
结构体是值专递,形参会复制,开销很大直接调结构体变量是没有意义的,区别于数组变量是代表了数组的首元素地址#pragma warning(disable:4996)# include <stdio.h># include <stdlib.h>struct s { char name; int age;};void test(struct s a) {...原创 2020-01-01 12:37:15 · 1032 阅读 · 0 评论 -
C语言 FileStreaming buffer
setbufvoid setbuf ( FILE * stream, char * buffer ); Set stream buffer设置文件描述符的缓冲区大小stream buffer是一个 block of data,在i/o操作和 physical file(文件) 之间output buffers,写出:数据会放在buffer区,直到填满,然后会flushed(发送给 物理...原创 2020-01-01 12:34:44 · 593 阅读 · 0 评论 -
C语言 FileStreaming fopen&fclose
fopenFILE * fopen ( const char * filename, const char * mode );参数描述filenameC字符串,文件名modemode描述r"read: Open file for input operations. The file must exist.“w”write: 创...原创 2020-01-01 12:33:48 · 505 阅读 · 0 评论 -
C语言 FileStreaming fseek
方法描述fgetposGet current position in stream (function )fsetposSet position indicator of stream (function )ftellGet current position in stream (function )fseekReposition stream pos...原创 2020-01-01 12:32:56 · 283 阅读 · 0 评论 -
C语言 FileStreaming fwrite&fread
方法描述fprintfWrite formatted data to stream (function ) 向文件格式化写入fscanfRead formatted data from stream (function ) 向文件格式化读出printfPrint formatted data to stdout (function ) 向标准输出给石化读出...原创 2020-01-01 12:32:15 · 716 阅读 · 0 评论 -
C语言 三种IO
底层IO是处理文件描述符,StreamingIO是处理文件流,SocketIO是处理网络通过stdio.h中的fdopen方法来获得stream,socket对应的文件描述符int fileno (FILE *stream)参考:http://www.gnu.org/software/libc/manual/html_node/Descriptors-and-Streams.html#...原创 2020-01-01 12:31:19 · 605 阅读 · 0 评论 -
C语言 进程
基础内核通过exec创建进程进程内部调用exit或_exit和_Exit来退出进程创建进程1.exec启动一个新程序,替换原有的进程,pid不会改变2.system创建一个新进程,并等待3.fork创建一个新进程...原创 2020-01-01 12:23:53 · 443 阅读 · 0 评论 -
C语言 system
基础int system(const char *command)用于输入shell或dos命令fork子进程,并等待子进程结束例子system(“PAUSE”)可以实现冻结屏幕,便于观察程序的执行结果;system(“CLS”)可以实现清屏操作参考:https://blog.csdn.net/qq_41112517/article/details/78968589...原创 2020-01-01 12:23:23 · 466 阅读 · 0 评论 -
C语言 exit() _exit()
基础在main中终断自己,并返回1.0:sucess;1:failure;2:error_exit(int status);exit(int status);_Exit(int status);exit() and _exit() and _Exit()三种终断进程的方法方法|描述–|--_exit()|请求OS立刻终断进程,强行,不回收资源exit()|C标准库函数...原创 2020-01-01 12:22:37 · 811 阅读 · 0 评论 -
C语言 pthread_create
基础注意编译多线程程序的时候要添加-lpthread参数int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);参数1:初始化线程类型的变量参数2:通常传NULL,表示使用线程默认属性。参数3:函数指针,该函数运行结束,则线...原创 2020-01-01 12:22:09 · 2078 阅读 · 0 评论 -
C语言 pthread_exit
退出线程void pthread_exit(void *retval);参数:retval表示线程退出状态,通常传NULL退出线程有三种方法:1.return:返回调用者那里去2.pthread_exit():退出该线程3.调用pthread_cancel终止同一进程中的另一个线程exit()直接退出进程...原创 2020-01-01 12:21:39 · 1347 阅读 · 0 评论 -
C语言 pthread_join
线程回收pthread_join,阻塞等待线程退出,获取线程退出状态,对应进程中 waitpid() 函数int pthread_join(pthread_t thread, void **retval);返回成功:0;失败:错误号参数:thread:线程ID (不是指针);retval:所调用函数的返回值...原创 2020-01-01 12:20:50 · 3569 阅读 · 0 评论 -
C语言 pthread_cancel&pthread_detach
杀死线程pthread_cancel 杀死(取消)线程 其作用,对应进程中 kill() 函数。int pthread_cancel(pthread_t thread);成功:0;失败:错误号#include <stdio.h>#include <pthread.h>#include <unistd.h>void *tfn(void *arg...原创 2020-01-01 12:20:06 · 1536 阅读 · 0 评论 -
C语言 底层IO open&close
基础openopen来自fcntl.h,系统级;fopen()来自stdlib.h,用户级示例int open(const char *path, int oflag, ... /*mode_t mode*/ );int fd = open("path/to/file", O_RDONLY);int fd = open("test.txt", O_WRONLY | O_TRUN...原创 2020-01-01 11:26:33 · 1638 阅读 · 0 评论 -
C语言 底层IO read&write
基础#include<unistd.h>2.win下没有unistd.h要替换成:#ifndef _UNISTD_H#define _UNISTD_H#include <io.h>#include <process.h>#endif /* _UNISTD_H */readssize_t read(int fd,void*buf,size...原创 2020-01-01 11:25:08 · 1052 阅读 · 0 评论 -
C语言 底层IO lseek
基础read和write操作后,文件的position会改变stream使用fseek,descriptor使用lseek方法lseek根据文件描述符改变文件的positon参数参数|描述–|--filedes|文件描述符offset|偏移量whence|SEEK_SET, SEEK_CUR, or SEEK_END.返回resulting file positi...原创 2020-01-01 11:24:17 · 374 阅读 · 0 评论 -
read fread open fopen write fwrite
参考:https://stackoverflow.com/questions/584142/what-is-the-difference-between-read-and-freadhttps://bbs.csdn.net/topics/370122855http://blog.chinaunix.net/uid-28549627-id-3940377.htmlhttps://www.cn...原创 2019-12-21 14:38:15 · 353 阅读 · 0 评论