C 语言
_hello_cc
黄沙百战穿金甲
展开
-
由void *data[ ]引发的思考
最近在某个代码的函数原型中遇到了形如void* data[ ] 的参数类型表述,在这里兜兜转转了很久,终于在多番查阅资料后解决了一些困惑,特此记录。void *data[ ]是个什么鬼?1、先来解决形如type *name[ ]的问题。 这里有一个比较实在的推断方法int buf[48] ,指的是一个数组有48个元素,每个元素都是int类型char buf[48],指的是一个数组有48个元素,每个元素都是int类型 ......需要注意先表述元素个数再表述元...原创 2020-09-15 18:00:39 · 893 阅读 · 0 评论 -
switch case语句下实现不同字符/数字函数功能并列
学习、使用C已经有四年之久了,前几天世界读书日,快要睡觉的时候打开淘宝刷了一下突然发现有50元券...一紧张手一抖不小心又买了本C premier plus,这本看起来初学者才要看的书(-_-_-_-)。。松鼠癖患者无疑了switch case语句实现匹配不同的功能的方法:switch(count){case 0:{ func0() ;};break;case 1:{ func1() ;}};b...原创 2018-05-03 11:51:31 · 3004 阅读 · 0 评论 -
inline 内联函数 的作用
首先确认inline应该是一个修饰符C中引入内联函数的目的:可以减少一些频繁调用的子函数对栈空间的消耗,如果函数可以内联,则直接在调用点就可以将函数展开,这样就省去了类似于保存现场并跳转这样的栈消耗inline 标识符 仅仅是对编译器的一个建议,是否内联,则实际由编译器决定,如果编译器认为函数能在调用点展开,就会真正内联,并不是标识了inline内联,就会一定内联。 inline 内联函数只适合函...转载 2018-05-30 11:38:31 · 709 阅读 · 0 评论 -
memmove 和 memcpy的区别
博文来源:https://blog.csdn.net/li_ning_/article/details/51418400异同点:memcpy和memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容;他们的作用是一样的,唯一的区别是,当内存发生局部重叠的时候,memmove保证拷贝的结果是正确的,memcpy不保证拷贝的结果的正确。函数原...转载 2019-03-13 17:45:19 · 268 阅读 · 0 评论 -
单片机与随机数
以前一直以为单片机中无法使用随机数,我也不知道自己哪里来的这种错觉。直到昨天项目上需要用到随机数,才去查了一下,竟然真可以在单片机中生成随机数,以下为一个生成随机数简单的测试demo:#include “stdio.h”#include "stdlib.h" //rand()函数和srand()函数的头文件。 #define MAX_RANDOM 80 ...原创 2019-05-10 09:39:25 · 2705 阅读 · 1 评论 -
C语言中的定义和声明
参考链接:https://blog.csdn.net/mantis_1984/article/details/53571758如有侵权请联系我删除。定义:指的是在代码中定义一个变量、函数,定义的最显著的一个特征是,执行定义后,编译器会在内存中分配一块内存给所定义的变量或函数, 如执行int a ,b,c= 0;都会在内存中分配一定的空间以存放这几个变量。声明...原创 2019-08-15 09:41:10 · 1677 阅读 · 2 评论