![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 72
BJTUYBYUAN
工作:主要从事OAI rfsimulator、5G物理层关键技术、C语言与LINUX的学习和研究!!!
座右铭:好的大学、没有围墙
展开
-
Socket套接字学习总结
主题:简介:参考:C语言编程网之socket编程图解TCP/IP作者:时间:1.套接字的定义定义:socket是计算机之间进行通信(网络编程)的一种约定或者一种方式,通过socket这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。应用:web服务器和浏览器的请求和响应注:read、write、文件描述符、句柄2.Internet套接字(1)SOCK_STREAMSOCK_STREAM流格式套接字也称面向连接的套接字,在代码中使用SOCK_STREAM表示。原创 2022-01-02 19:56:13 · 1018 阅读 · 0 评论 -
多线程编程
主题:简介:参考:作者:时间:1.什么是线程线程共享的进程资源:代码:应用程序的代码;数据:全局变量、static 变量、堆空间进程空间:进程分得得内存空间;打开的文件:各个线程打开的文件资源可以为所有线程共享;线程的私有资源:寄存器中存储的数据;线程执行所需的局部变量;多线程:2.多线程程序举例API:为了避免多个程序访问系统资源时产生冲突,所谓系统资源包含文件资源、I/O设备、网络,操作系统会将可能产生冲突的系统资源保护起来,阻止应用程序直接访问,如果程序中需要访问被操作原创 2021-11-22 23:13:55 · 365 阅读 · 0 评论 -
网络编程学习总结
主题:简介:参考:作者:时间:1.在Linux系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。为了表示和区分已经打开的文件,Linux会给每个文件分配一个ID,这个ID就是一个整数,被称为文件描述符。0 stdin 键盘1 stdout 显示器注:Linux下一切都是文件!!!2.socket类型根据数据的传输方式,可以将Internet套接字分为两种类型:(1)流格式套接字:面向连接的套接字表示:SOCK_STREAMSOCK_STREAM是一种可原创 2021-11-04 19:51:29 · 212 阅读 · 0 评论 -
C语言学习笔记之const关键字
主题:简介:参考:作者:时间:const编程实例:#include<stdio.h>int getnum() { return 100;}int main() { const int a = getnum(); const int b = 1000; printf("a=%d\nb=%d\n",a,b); return 0;}const和指针:const可以和指针变量一起使用,这样可以限制指针变量本身,也可以限制指针指向的数据,这取决于const的位置。原创 2021-10-29 18:34:49 · 137 阅读 · 0 评论 -
C语言学习笔记之typedef的用法
主题:简介:参考:作者:时间:C语言可以为一个数据类型起一个新的别名(按照编程习惯起的别名,好几就行),可以使用typedef将一个老的名字定义一个新的别名。typedef oldname newname;(1)利用typedef可以给数组定义别名://数组也是有类型的,char s1[20]定义了一个数组s1,它的类型就是char [20];//整型数组、字符数组typedef char a[20];//a是char[20]的别名a s1, s2, s3, s4;char s1[原创 2021-10-29 16:50:10 · 300 阅读 · 0 评论 -
C语言学习笔记之随机数生成
主题:简介:参考:作者:时间:在C中,使用<stdlib.h>头文件中的rand()函数来生成随机数:int rand(void);RAND_MAX是<stdlib.h>头文件中的一个宏,用来指明rand()所能返回的随机数的最大值。基于时间生成伪随机数:#include<stdio.h>#include<stdlib.h>#include<time.h>int main() { srand((unsigned)ti原创 2021-10-29 15:20:20 · 171 阅读 · 0 评论 -
C语言学习笔记之内存精讲
主题:简介:参考:作者:时间:14.1 存储在硬盘中的程序需要载入内存才能运行,CPU也只能从内存中读取数据和指令,对于CPU而言,memory仅仅存放instruction和data,不能在memory完成运算,任何计算都需要读取到CPU内部才能进行运算。CPU——Memory——DiskCPU:运算单元、寄存器、缓存缓存:如果每次都从内存中读取数据,会严重拖慢CPU的运行速度,CPU经常处于等待状态,在CPU内部设置一次缓存,将使用频繁的数据暂时读取到缓存,需要同一地址上的数据时,直接存原创 2021-10-24 23:02:41 · 870 阅读 · 0 评论 -
C语言使用的编码方式总结
主题:C语言使用的编码方式简介:作者:ybb时间:2021年10月23日1.对于char类型的窄字符,使用ASCII2.对于wchar_t类型的宽字符或宽字符串,使用基于Unicode字符集的UTF-16或者UTF-32编码3.对于char类型的窄字符串,VS使用本地编码,Xcode默认使用UTF-8注:GBK编码用于中文版的windowsUnicode查询表Unicode使用的三种编码方案:UTF-8:一种变长的编码方案,使用1-6个字节来存储UTF-32:一种固定长度的编码方案,不原创 2021-10-23 17:51:52 · 2931 阅读 · 0 评论 -
C语言学习笔记之程序调试
13.1什么是调试调试:调试可以让代码一步一步的慢慢执行,我们可以跟踪程序的运行过程,可以让程序停在某个地方,查看当前所有变量的值(全局变量存在全局数据区、局部变量存在栈区)货内存中的数据。也可以步进执行或执行几个语句观察程序具体的执行情况。作用:监控变量的值、函数的调用过程、内存中的数据、线程调度等程序细节。注:变量的定义和初始化、内存的分配和释放。13.2断点断点的含义:调试器遇到断点时会把程序暂时挂起,让程序进入中断状态,这种状态下的操作不会终止程序的执行,也不会清除与程序相关的元素,比如原创 2021-06-02 20:49:10 · 665 阅读 · 3 评论 -
C语言学习笔记之内存
14.8Linux下C语言程序的内存分布内核空间和用户空间:内核空间:高地址空间用户空间:低地址空间用户空间的内存分配:保留区、程序代码区、常量区、全局数据区、堆区、栈区程序代码区:存放函数体的二进制代码。C语言程序由多个函数构成,C语言程序的执行就是函数之间的相互调用。常量区:存放常量、字符串常量。这部分内存只读,不可写入,因此他们的值再运行期间不能改变。全局数据区:存放全局变量、静态变量。这部分内存有读写权限,他们的值在程序运行期间可以改变。堆区(向高增长):程序员手动进行内存分配或释原创 2021-06-01 21:44:20 · 124 阅读 · 0 评论 -
C语言学习笔记之文件操作
12.1C语言中的文件在操作系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备被看成文件,因此对文件操作就等同于对磁盘上普通文件的操作。对文件的操作:打开、读、写、执行、关闭。文件流12.2C语言打开文件stdin、stdout、stderr是由系统打开的,可直接使用。<stdio.h>头文件的fopen()函数:FILE *fopen(char *filename,char *mode)fopen()函数的返回值:fopen函数会获取文件信息(文件名、文件状态、当前读写原创 2021-05-26 19:50:21 · 549 阅读 · 11 评论 -
C语言易混知识点补充
11.2const的用法const的全称是constant,意思为不变的,恒定的。在这里就是常量。变量:可以被改变的量常量:不能被改变在定义变量的时候加上const这个量就不变了:const int a=100;const int Any=200;注:常量一旦创建其值就不能改变,因此常量必须再定义的时候初始化,后面的任何赋值行为都会引发错误,技术初始化常量可以使用任意形式的表达式,但是不能再次赋值。常量只允许接收一次值。灵活的定义和初始化常量值:#include<stdio.h&g原创 2021-04-06 22:54:18 · 133 阅读 · 0 评论 -
C语言学习笔记之结构体
10.1C语言结构体数组:存放相同数据类型结构体:可以存放多种数据类型结构体如何定义呢?struct 结构体标签名{结构体包含的成员变量或数组;}结构体变量;结构体是多种数据类型的集合,它可以包含多个变量和数组,这些数据可以是多种类型#include<stdio.h>int main() { struct student { char *name;//指针变量 int num; int age; char group; float score; };/原创 2021-04-02 22:54:41 · 679 阅读 · 0 评论 -
C语言学习笔记之指针
9.1指针基本概念入门内存中字节的编号称为地址,地址就是某块内存所在的位置,指针指向的是就是地址。#include <stdio.h>int main() { unsigned int a = 100; char str[] = "c.biancheng.net"; printf("%#X, %#x\n", &a, str);//是否输出Ox return 0;}字符串名本身就代表了字符串的首地址。C语言的一切都是地址,所以指针用的如何决定了C语言的功底。C语言用原创 2021-03-29 23:10:09 · 792 阅读 · 0 评论 -
C语言学习笔记之预处理命令
8.1预处理命令编译是针对单个源文件的,一次编译操作只能编译一个源文件,如果程序中有多个源文件则需要多次编译操作预处理命令需要放在所有函数之外。C语言提供了多种预处理功能:宏定义文件包含条件编译作用:便于调试、修改、阅读和移植,利于模块化设计。预处理的工作:把代码当成普通文本,根据设定的条件进行文本替换,将替换以后的结果交给编译器。8.2#include的用法#include称为文件包含命令,用来引入头文件。#include是C语言预处理命令的一种#include后面跟原创 2021-03-24 22:54:30 · 693 阅读 · 0 评论 -
C语言学习笔记之函数
7.1什么是函数函数:将常用的代码以固定的格式封装成一个独立模块。常用代码-封装成函数-使用函数#include<stdio.h>int func(char *s1, char *s2) { int result; int i; for ( i = 0; (result=s1[i]-s2[i])==0; i++) { if (s1[i]=='\0'||s2[i]=='\0') { break; } } return result;}int main原创 2021-02-20 21:57:23 · 376 阅读 · 0 评论 -
C语言学习笔记之数组
主题:C语言学习笔记之数组时间:2021年2月13日作者:ybb6.1数组的概念和定义数组是一组相同数据库类型组成的集合,利用数组可以减少变量的数量,从而提高开发的效率。问题的引入:可以发现在这里需要定义多个数据类型相同的变量。#include<stdio.h>#include<stdlib.h>int main() { int a=10, b=11; int c=12, d=13; printf("%-5d%-5d\n",a,b); printf("%5d原创 2021-02-13 19:43:44 · 306 阅读 · 0 评论 -
C语言学习笔记之输入与输出
C语言中的字符单个字符 %c字符串 %sASCII表对应的值ASCII表原图常用的对应关系:A-Z~65-90a-z~97-1220-9~48-57因此,字符和整数没有本质的区别。char变量在内存中存储的是字符对应的ASCII值。原创 2020-12-31 20:27:10 · 404 阅读 · 0 评论 -
C语言学习笔记之结构体
10.3 C语言结构体指针定义:当一个指针变量指向结构体时,我们就称它为结构体指针(指针变量指向的是结构体)一般结构:struct 结构体标签名 *变量名struct stu *pstu=&stu1;注:结构体变量名和数组名不同,数组名在表达式中会被转换成指针,而结构体变量名不会,它时钟表示的是整个集合本身,要想取得结构体变量的地址,就需要用&还应该注意,结构体和结构体变量是两个不同的概念:结构体是一种数据类型,是一种创建变量的模板,编译器不会为它分配内存空间,就像 int、f原创 2021-01-02 20:29:05 · 290 阅读 · 0 评论 -
C语言学习笔记之指针
主题:C语言时间:2021年1月14日20:55:20作者:ybbC语言学习笔记之指针9.1形象的理解指针的基本概念:地址/指针:内存中字节的编号%#X会以带0x前缀的16进制输出C语言2进制数、8进制数、16进制数的格式输出C语言2进制数、8进制数、16进制数的格式输出:short int longho o lohd d ldhx x lxlinux一切都是文件,二C语言一切都是地址,指针可以指向数据存储的地方,所以指针在C语言地位第一。数据原创 2021-01-14 20:55:55 · 171 阅读 · 1 评论 -
C语言学习笔记之循环结构和选择结构
C语言循环结构和选择结构详解:5.1 if else语句if else的简单应用:#include<stdio.h>#include<stdlib.h>int main() { int age; printf("input your age\n "); scanf_s("%d",&age); if (age>=18){ printf("you can!"); } else { printf("you can not"); } ret原创 2021-01-29 22:59:19 · 386 阅读 · 0 评论