随笔分类 - C
摘要:c语言中调用sve函数 (Arm C Language Extensions for SVE)PDF sve 指令集 sve.c #include <arm_sve.h> #include <stdio.h> #include <stdlib.h> #include <time.h> #define
阅读全文
摘要:IEEE浮点数——打印浮点型数据的各个部分 共用体 + 位域
阅读全文
摘要:main.c #include <stdio.h> #include <unistd.h> #include <sys/wait.h> char * argv[]={ "arg1","arg2", NULL }; char * envp[] = { "PATH=/bin", "HOME=/root"
阅读全文
摘要:int i = 0; // while (i < v.size() - 1) { // v.size() 返回一个无符号的数,若v.size() = 0, -1后变为最大的无符号数. while (i + 1 < v.size()) { if (v[i] < v[i + 1]) { v[i + 1]
阅读全文
摘要:itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。是Windows平台下扩展的,标准库中有sprintf,功能比这个更强,用法跟printf类似: char str[255]; sprintf(str, "%x", 100); //将100转为16进
阅读全文
摘要:在写程序时,很多时候手动输入数据进行测试很麻烦,重复性工作很多,可以使用命令行重定向的方法将文件作为程序的测试输入: 假设测试程序名为a.out,测试输入为data,可以采用以下方式输入: Linux: ./a.out < data 或 cat data | ./a.out Windows: ———
阅读全文
摘要:原文链接为什么你必须链接C中的MATH库? 如果在C程序中包含<stdlib.h>或<stdio.h> ,那么在编译时就不必将它们链接起来,但是我必须使用-lm和gcc链接到<math.h> ,例如: gcc test.c -o test -lm 这是什么原因? 为什么我必须明确地链接math库,而
阅读全文
摘要:<< 1效率没* 2效率高 参考链接https://blog.popkx.com/c语言程序中-移位操作代替乘除操作-效率更高吗/ 解析 C语言程序中,使用移位操作代替乘除操作更快吗?现在这个问题我们已经有答案了:并不如此。原因在于C语言编译器一般都会优化我们的代码,它知道如何尽可能快地增加目标处理
阅读全文
摘要:《C Primer Puls》 是这样解释关键字的:关键字是C语言的词汇,由于编译器不具备真正的智能,所以你必须用编译器能理解的术语表示你的意图。 volatile关键字告诉编译器该变量是易变的,无非就是希望编译器去注意该变量的状态,时刻注意该变量是易变的,每次读取该变量的值都重新从内存中读取。 使
阅读全文
摘要:在C语言中,register算是不太难的一个关键字。 用register声明的变量是寄存器变量,是存放在CPU的寄存器里的。 寄存器有这么两个特点,一个是运算速度快,一个是不能取地址。 ———————————————— 版权声明:本文为CSDN博主「Forever」的原创文章,遵循CC 4.0 BY
阅读全文
摘要:使用系统调用fork() #include <stdio.h> #include <unistd.h> #define N 20 int main(int argc, char * argv[]) { int n = N; int pid = fork(); if (pid == 0) { whil
阅读全文
摘要:long 和 long int 我们会看到long 和 long int,其实这两者对于编译器来说时一样的,我们在使用long时,其实已经默认包括了int,同样long long = long long int。 即long是long int的简写,同样的道理 long long是long long
阅读全文