当前位置: 首页 > article >正文

Linux基础知识 - C(自学使用)

1.C语言基础知识

参考博客:

https://blog.csdn.net/qq_45254369/article/details/126023482?ops_request_misc=%257B%2522request%255Fid%2522%253A%252277629891-A0F3-4EFC-B1AC-410093596085%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=77629891-A0F3-4EFC-B1AC-410093596085&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-9-126023482-null-null.nonecase&utm_term=C%E8%AF%AD%E8%A8%80%E5%85%AB%E8%82%A1&spm=1018.2226.3001.4450

1.sizeof和strlen的区别

a.sizeof是运算符,strlen是函数。
b.sizeof在编译的时候就计算出了结果,strlen在函数运行的时候才能计算出来。
c.strlen只能测试字符串的长度,遇到'\0'结束。

2.大小端

大端:数据的高字节存储在内存的低地址中。
小端:数据的高字节存储在内存的高地址中。

在这里插入图片描述
在这里插入图片描述
3.strcpy和memcpy区别

char *strcpy(char *dest, const char *src);
char *strncpy(char *dest, const char *src, size_t n);
void *memcpy(void *dest, const void *src, size_t n);
1.strcpy只能进行字符串的拷贝,memcpy可以复制任何内容。
2.使用strcpy时可以不指定字符串的长度,因为字符串结尾为'\0',遇到'\0'会自动结束。

4.内存五大分区

栈:运行时分配,结束释放。
堆:malloc申请,free释放(C++:new申请,delete释放)
全局/静态变量
常量文本
程序代码

5.链表和数组区别

1.链表节点中含有指针next区域,存储空间利用率低;数组存储空间利用率高。
2.链表插入、删除效率高;数组查找效率高。
3.链表占用的空间可以是不连续的,数组占用的空间为连续的。

6.const和define的区别

1.处理方式:
	define在预处理阶段进行替换,const在编译的时候确定其值。
2.类型检查:
	define无类型,不进行类型检查;const有数据类型,编译时会进行类型检查。
3.内存空间:
	define不分配内存,知识进行简单的拷贝;const在静态存储区分配空间,在程序运行过程中内存中只有一个拷贝。
	

http://www.kler.cn/news/368090.html

相关文章:

  • 使用Python计算相对强弱指数(RSI)进阶
  • 通过js控制css变量
  • Axure设置面板状态——元件动作二
  • 3-petalinux2018.3 摸索记录 - 命令驱动 _ 交叉编译链
  • 论文笔记:LaDe: The First Comprehensive Last-mile Delivery Dataset from Industry
  • 语音提示器-WT3000A离在线TTS方案-打破语种限制/AI对话多功能支持
  • Unity 开发学习笔记(0):
  • Kafka 解决消息丢失、乱序与重复消费
  • 面向对象编程中类与类之间的关系(一)
  • 草地杂草数据集野外草地数据集田间野草数据集YOLO格式VOC格式目标检测计算机视觉数据集
  • 鸿蒙网络编程系列32-基于拦截器的性能监控示例
  • unity中GameObject介绍
  • unity 导入的模型设置详谈
  • 【ShuQiHere】Linux 系统中的硬盘管理详解:命令与技巧
  • C++ | Leetcode C++题解之 第508题出现次数最多的子树元素和
  • Day 53 图论五
  • nginx 修改配置
  • 正则表达式(Regular Expression, Regex)详解
  • linux中的PATH环境变量
  • 【笔记】Diffusion Model 扩散过程(熵增过程:从有序变为无序):在原始分布上逐步的加高斯噪声,加到最后这个分布就变成一个各项独立的高斯分布
  • [Linux网络编程]05-TCP状态和端口复用,shutdown函数(主动方建立/关闭连接状态,被动方建立/关闭连接状态,2MSL时长,TCP其他状态)
  • protobuf序列化
  • 解读AVL树:平衡二叉搜索树的奥秘
  • python 爬虫 入门 五、抓取图片、视频
  • 建造者设计模式
  • 基于知识图谱的苹果病虫害知识图谱问答