C语言细节
|清风|
野生博主,热爱嵌入式软件和AI,22年开始研究VSLAM技术
展开
-
C语言细节 - string.c库文件
/* * linux/lib/string.c * * Copyright (C) 1991, 1992 Linus Torvalds *//* * stupid library routines.. The optimized versions should generally be found * as inline code in <asm-xx/string.h...原创 2020-08-26 20:05:25 · 390 阅读 · 0 评论 -
C语言细节 - 指针与结构体 -待完成
本文是读完《c和指针》后记录的一些关于结构体和指针中值得注意的细节,如有错误,还望指正;你还可以阅读指针,指针与数组,指针与函数了解更多关于指针的内容文章目录...原创 2020-03-22 17:15:09 · 136 阅读 · 0 评论 -
C语言细节 - 指针与函数
本文是读完《c和指针》后记录的一些关于函数和指针中值得注意的细节,如有错误,还望指正;你还可以阅读指针,指针与数组了解更多关于指针的内容文章目录...原创 2020-03-20 22:47:26 · 152 阅读 · 0 评论 -
C语言细节 - 指针
文章只列出了使用指针需要注意的一些地方,属个人见解,如有错误,望留言评论区,谢谢!!!文章目录指针的初始化关于指针的左值和右值*p++的说明指针作为函数参数指针无法改变常量地址内容指针的初始化声明指针变量后,必须初始化才能使用,否则其指向是不确定的,若解引用指针会造成内存错误你至少应该初始化为NULL,因为内存位置0是没有存储任何数据的,虽然对其访问也是非法的,故同时你最好在使用前进行空指...原创 2020-03-14 22:26:06 · 233 阅读 · 0 评论 -
C语言细节 - strlen()与sizeof()
文章目录1.sizeof2.strlen3.区别4.补充1.sizeofsizeof是一个运算符,如下图具有明确的运算优先级sizeof计算一个对象或类型所占内存的字节数2.strlenstrlen是string.c文件中定义的函数,使用时要包含头文件string.hstrlen计算字符指针所指向的对象中’\0’之前的char型字符个数size_t strlen(const cha...原创 2020-03-13 21:04:16 · 625 阅读 · 1 评论 -
C语言细节 - 动态内存分配
使用动态内存分配,你需要先添加 malloc.h 头文件相关函数void *malloc(size_t size)开辟 size 个字节 的 连续内存空间(前提:内存池中有满足需求的内存大小)void* calloc (size_t num, size_t size);开辟 num 个 size 字节 的 连续内存空间,并初始化为0(相对速度更快)(前提:内存池中有满足需求的内存大小)...原创 2020-02-27 22:08:17 · 156 阅读 · 0 评论 -
C语言细节 - 可变参数列表
背景:在求同类型数据的平均值时,往往编写固定参数的函数实现,若想改变参数个数,需修改函数,这样非常麻烦,为此引入可变参数列表来解决这一问题引入的头文件:为了使用可变参数列表,你需要添加标准库中的 “stdarg.h”一个类型:typedef char *va_list;va (variable-argument) :可变参数三个宏:#define va_start(AP, LAST...原创 2020-02-24 14:59:57 · 254 阅读 · 0 评论 -
C语言细节 - 指针与数组
本文是我读完《c和指针》后记录的一些值得注意的知识,如有错误,还望指正;另外要说明的是,再c中数组和指针在一定程度上是类似的,故讲到数组时,难免会与指针牵扯上关系,所以这篇文章也包含部分指针的注意事项,你还可以阅读这篇文章了解更多指针内容:c语言笔记 - 指针的注意事项数组名一维数组数组名一般作为指针常量,且有 array = &array[0] (其中array为数组名),向下面...原创 2020-03-16 21:50:04 · 818 阅读 · 0 评论 -
C语言细节 - 输入输出库函数 -待完成
gets: char *gets(char *str) – 一般情况下不建议使用该函数功能:从标准输入流中读取一串字符,并把它存储在str所指向的字符串中结束标志:回车即结束返回值:若输入成功,则返回str;其他情况,返回NULL说明:遇换行符结束后,最终输入的值是:在输入有效字符的基础上丢弃换行符,末尾添加 nul (’\0’字符)缺陷:gets可以从标准输入无限读取,不会...原创 2020-02-24 01:07:01 · 1346 阅读 · 0 评论 -
C语言细节 - volatile的重要性
1:硬件优化因内存速度限制,CPU访问内存的速度远不及CPU处理速度,但CPU访问寄存器的速度比访问内存的速度要快得多,为提高机器整体性能,在硬件上引入高速缓存Cache,优化对内存的访问,提高效率2:软件优化编译器会将它认为不变的量保存在高速缓存cache中,以后CPU需要访问该变量时,就直接在缓存中读取,当数据被更改后,便将其存放在缓存中,但主存中变量的值却未被更新原创 2020-02-23 00:21:06 · 356 阅读 · 0 评论