
C语言学习笔记
个人C语言学习的笔记
蜜汁辣酱^_^
有问题请发邮件到2815287145@qq.com讨论
展开
-
c语言实现几种排序算法
冒泡排序void BubbleSort(int *buff, int len){ int flag; for (int i = 0; i < len - 1; i++) { flag = 0; for (int j = 0; j < len - 1 - i; j++) { if(buff[j + 1] >= buff[j]){ continue; }原创 2020-12-17 23:18:21 · 113 阅读 · 0 评论 -
交换数据的三种方式
1、中间变量int a, b, c;......c = a;a = b;b = c;2、加减法int a, b;a = a + b;b = a - b;a = a - b;3、 异或法int a, b;a ^= b;b ^= a;a ^= b;原创 2020-12-09 22:58:49 · 409 阅读 · 0 评论 -
结构体带成员初始化
好记性不如烂笔头。受Linux内核驱动以及硬件家园博主博客其启发,最近在32位单片机上比较喜欢使用这种方式写代码,类面向对象的思路,对外只提供一个结构体变量==对象。结构体初始化的时时候带成员初始化,只需要部分初始化特别方便,且不受顺序影响。例:Linux驱动程序中的 file_operations 结构体/* 设备操作函数 */static struct file_operations gpioled_fops = { .owner = THIS_MODULE, .open = led_op原创 2020-11-18 00:08:33 · 812 阅读 · 0 评论 -
C语言数组带下标赋值
好记性不如烂笔头。c语言数组带下标赋值,初始化的时候数组元素的值不受顺序影响,在有些时候方便扩展一幕了然。int array[3] = { 1, 2, 3 };/* 等同于 */int array[3] = { [0] = 1, [1] = 2, [2] = 3,};int array[3] = { [2] = 1, [1] = 2, [0] = 3,};举例:在之前工程中按键程序中使用过,增加删除特别方便。按键驱动typedef void (*const KEY_TASK_原创 2020-11-17 23:55:21 · 2736 阅读 · 0 评论 -
求变量二进制值中1的个数
int function(x) { int flag = 0; while(x) { x = x&(x-1); flag ++; } return flag ; }原创 2020-08-20 00:22:01 · 198 阅读 · 0 评论