![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言
C语言学习
_Amen
自律自由
展开
-
C语言操作文件 —— 筛选出文件中带有空格的数据行
代码思路:打开文件把指针指到文件开头处遍历每一行数据遍历这一行数据,判断空格,写文件关闭文件#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ int len,i; char tmpBuf[128]; FILE *fp; FILE *fp2; fp = fopen("input.txt","r"); fp2 = fopen("output.tx原创 2021-11-04 15:30:39 · 1083 阅读 · 0 评论 -
C语言存储类、作用域、生命周期、链接属性
普通auto局部变量:存储类:栈作用域:代码块生命周期:临时链接属性:无链接静态static局部变量:存储类:数据段/bss段作用域:代码块生命周期:永久链接属性:无链接普通全局变量:存储类:数据段/bss段作用域:文件作用域生命周期:永久链接属性:外链接静态static全局变量:存储类:数据段/bss段作用域:文件作用域生命周期:永久链接属性:内链接普通函...原创 2019-07-29 21:27:31 · 146 阅读 · 0 评论 -
C语言void、NULL解析
void:C语言属于强类型语言。编译器通过变量的数据类型给变量分配具体大小的内存空间,并提供变量的所属类型的解析方法。因此C语言中所有的变量必须都要有明确的数据类型。void类型的含义是:当前不确定类型,将来会指定具体类型。void类型的一个典型应用案例就是malloc函数,malloc向系统堆管理器申请一段内存给当前程序使用,申请到内存空间后由于malloc并不能预知这段内存空间将来是分配...原创 2019-07-31 10:09:56 · 389 阅读 · 0 评论 -
C语言解析 char (*(*x())[5])()
解析: char (*(*x())[5])();方法一:从内向外分析1、*x():x是一个无参数函数,该函数的返回值是一个指针。2、 *(*x())[5]:由于C语言中[]的优先级最高,因此这里要先结合后面的[5],再结合前面的 。于是就变成了:x是一个无参数函数,该函数返回一个指针,且返回的这个指针指向一个(有5个指针元素的)数组。3、char ((*x())[5])() :先看后缀得...原创 2019-08-16 10:06:03 · 1204 阅读 · 1 评论 -
C语言之sizeof与strlen
#include <stdio.h>#include <string.h>int main(void){ char *p1 = “abcde\0f”;char a[] = “abcde\0f”;printf("%2d",strlen(p1));printf("%2d",sizeof(p1));printf("%2d",strlen(a));printf("...原创 2019-08-16 12:05:09 · 292 阅读 · 0 评论 -
Linux多线程
多线程的引入原因:1、进程间切换开销大。2、进程间通信麻烦而且效率低(因为每个进程在操作系统中都独立的存在于自己的虚拟地址空间中,认为自己独享4G内存。进程为了安全起见,相互隔离是必要的,但进程间的通信需求也是客观的。)3、线程技术保留了进程技术实现多任务的特性。线程是一种轻量级进程。一个进程中可以有多个线程。4、线程的改进就是在线程间切换和线程间通信上提升了效率(多线程若处于同一进程中,...原创 2019-08-21 23:56:47 · 276 阅读 · 0 评论