分类 C 中的文章

typedef 函数指针

# 函数指针 /* 函数指针 */ #include <stdio.h> int add(int a, int b) { return a + b; } int main(int argc, char *argv[]) { int (*a)(int, int); // 定义一个 返回值是 int,有两个参数分别是 int、int 类型的函数指针 a a……

阅读全文

ulimit用户限制

# 撸码 今天研究算法时需要用到一个很大的数组,代码如下: #include <stdio.h>#include <stdlib.h>#include <stdint.h> int main(int argc, char *argv[]) { uint16_t list[100000000] = {0}; printf("OK\n"); return EXIT_SUCCESS; } 数组大小为 2字节 * 100,000,000 ≈ 200M字节 # 运行报错 运行 liyongjun@Box:~/project/my/c/study$……

阅读全文

服务端和服务端通信

# 前言 前段时间在研究 IEC 60870-5-104规约,是一个广泛应用于电力、城市轨道交通等行业的国际标准。一般的使用场景是这样的: 主站和RTU之……

阅读全文

C语言字节数组转float的几种方法

#include <stdio.h>#include <stdint.h>#include <string.h> typedef union a { unsigned char buf[4]; float value; } A; int main(int argc, char *argv[]) { unsigned char buf[4] = {0xA3, 0x70, 0x45, 0x41}; /* 法一 按字节赋值 */ float value; *((unsigned char *)&value + 0) = buf[0]; *((unsigned char *)&value + 1) = buf[1]; *((unsigned char *)&value + 2) = buf[2]; *((unsigned char *)&value + 3) = buf[3]; printf("value =……

阅读全文

大小端

小端 数据在内存中是以小端字节序存储的,何为小端,就是小地址存放数据低字节。小端字节序又称逆序。 如数值0x00000001 在内存中存储如下, buf[0]……

阅读全文

C语言传指针和传值的区别

首先讲,没区别。在C语言里,函数参数的传递都是值传递。所谓的传指针,也是传值,因为指针也是值。只不过这个值的类型不是普通的数据类型,而是指针……

阅读全文

整数在内存中的存储都是补码

整数在内存中都是以补码形式存储的,以下面这份代码为例做个实验。 #include <stdio.h> int main(int argc, char *argv[]) { unsigned char buf[1] = {0x81}; printf("value = %d\n", (char)buf[0]); return 0; } liyongjun@Box:~/project/my/c/study$ ./整数在内存中的存储都是补码.ou……

阅读全文