C基本代码学习
icquu
数据结构化存储与运用研究;
居逆境中,周身皆针砭药石,砥节砺行而不觉。 处顺境中,眼前尽兵刃戈矛,销膏靡骨而不知。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C代码炫技巧
int n = 10;return 0;原创 2023-12-20 17:33:08 · 264 阅读 · 0 评论 -
使用原始套接字完成网络数据包的封装和发送
使用此程序主要用于网络调试目的和实验项目, 请勿非法使用。程序可用来封装特定的arp回应包。原创 2023-12-18 16:17:36 · 343 阅读 · 0 评论 -
学习C语言——体会计算机中的0和1
在现在的MySQL数据库字符编码中,utf8mb4是新的标准,也是默认字符集,选用这个字符集,除了包含完整的世界范围内的字符外,我想还带来了一种处理起来的方便性,那就是可以把它当作一个整型数来看待。我们根据这个规律进行转换后,就可以把一段字符串写入一个数组,当我们以字符串输出的时候,就可以看到隐藏在整型数组中的字符。同时,我们也会想到,如果我把字符串以无符号整型的方式,每4个字节读取出来,组成一个数组,是否就完成了这种隐写呢?给大家留一个问题,如果数组中的第三个整型数不是‘\0’,输出会有问题吗,为什么?原创 2023-12-16 18:31:08 · 966 阅读 · 0 评论 -
自编实现计算网络号的C源程序和Shell脚本
#include <stdio.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <stdlib.h>/*计算给定IP地址和掩码的网络号*/int main(int argc, char const *argv[]){ if(argv[1]==NULL || argv[2]==NULL){ ...原创 2022-01-24 12:53:25 · 549 阅读 · 0 评论 -
C代码练手记录之五
Linux系统编程中的信号有几个属性,信号的类型,信号是否可被打断,信号处理函数处理完后的动作,系统提供了对这几个方面进行控制的几个函数和对应的结构体,结构体数据用于填充参数,函数用于设置到系统中生效配置。举个形象的例子:就像是按照客户需求生成了订单,函数的作用就是按照这个订单去安排生产,生产设备就是我们的操作系统,系统编程的整个过程就像是生成订单,根据订单内容使用函数安排操作系统的设置进行生产的过程,我们手里的计算机就是做这个事情的专用工具,计算机的可编程存储设计极大的解放了生产力,是又一...原创 2021-11-23 18:59:52 · 782 阅读 · 0 评论 -
多线程中的线程安全和锁
下面这段代码的运行结果是不正确的,而且输出的p_int中的整型值不是确定,这次运行输出的可能是9995,下次运行输出的可能是9996,9997等,这段代码说明运算符+=并不能保证线程安全.如果要得到正确的结果需要加锁.#include <stdio.h>#include <stdlib.h>#include <pthread.h>#define THREAD 10000void *P_fun(void *arg){ int *p_int = (int原创 2020-10-12 17:58:11 · 183 阅读 · 0 评论 -
C代码练手记录之四
系统信号(signal)的一般应用:Signal在Linux系统编程中应用比较常用也非常简单,使用signal可以实现比较方便的进程通讯和控制。下面是一下signal的应用例子:#include <stdio.h>#include <signal.h>#include <unistd.h>#include <signal.h>void sig_handler(int sig){ printf("catched signal:原创 2020-09-14 11:10:01 · 197 阅读 · 0 评论 -
快速学习计算机系统编程
全部内容基本就在这里了:C语言的语法,函数,指针,编译,调试数据结构和算法:数组,链表,树,图,排序,查找,插入,删除;Linux系统资源编程:文件IO,进程,线程,信号,网络通信;对于系统编程的入手,选来选去,还是要先从了解和学习C语言的语法,函数,指针,编译,调试开始,更底层向下一些,可略微了解一些CPU寄存器,栈和汇编知识,或者在学习Linux系统资源编程时候再附带了解这些汇编相关内容可能更容易理解一些。汇编部分不要求学习者能自己动手实现,只需要认真理解这些底层部分就能帮助我们原创 2020-09-02 17:11:40 · 370 阅读 · 0 评论 -
技术也有心法,天赋决定上限
飞镖技能讲究稳,准,狠,飞镖技术玩的很溜的人,可以给人一种艺术享受。做为一个技术人,对技术的追求也是同样的,要准(抓住要害),要狠(措施要有效)。准和狠的要义都把握的很好,放在第一位的稳往往是最不容易把握的住的,稳是心法,不是技法而胜似技法,有了心法才能让技法发挥出全部的能量。特别是有了一定技术积累的同学,不知是否有类似感受,很多时候,不是技术不到位,是心法不对,导致的技法止步不前。...原创 2020-07-26 15:56:10 · 466 阅读 · 0 评论 -
linux 用ld链接nasm编译的elf格式的.o文件报错
编译命令:nasm -f elf hello.asm -o hello.old -s hello.o -o hello报错信息:ld: i386 architecture of input file `hello.o' is incompatible with i386:x86-64 output解决方法:命令行输入:>ld -m elf ld: unrecognised emulation mode: elf...转载 2020-05-21 19:09:54 · 1992 阅读 · 1 评论 -
使用MySQL开发库构建C API客户端程序
在Unix上编译MySQL客户端这里的示例使用gcc作为编译器。在某些系统上(例如,macOS或FreeBSD上的clang或Solaris上的Sun Studio),可能需要其他编译器。根据需要调整示例。-I编译使用MySQL头文件的客户端程序时, 可能需要指定一个选项,以便编译器可以找到它们。例如,如果头文件安装在中/usr/local/mysql/include,则在compile命令中使用此选项:-I/usr/local/mysql/include您可以将代码与...翻译 2020-05-15 12:07:30 · 244 阅读 · 0 评论 -
为什么要学编程
使用计算机的基本途径:命令 函数 对象和交互的图形或图像有目的使用这些命令,函数,对象和交互的图形或图像就是计算机的应用。非交互式使用计算机的常用方式是将命令,函数,对象进行有目的的编排,从而实现一些满足运算逻辑的应用。大多提供24小时不间断服务的计算机基本都要靠命令,函数和方法完成逻辑编排从而实现一定的目的。由于人类能力所限,交互式的使用计算机无法进行高效的运算,因此,在需要利用计算机高速运算能力的时候,往往需要屏蔽掉任何不必要的人机交互。而图形或图像接口是最友好的人机交互途径,也是效率最低的使用计算原创 2020-05-14 11:12:25 · 946 阅读 · 0 评论 -
C代码练手记录之三
此段代码的作用是替换掉user_playerinfo.csv文件中的电话号码为模拟生成的新号码,原以为使用C代码来实现速度会非常快,实际测试效果并不太理想,先把这些辛苦写出的源码收藏起来吧,等之后水平提高一些了再来看这个问题,是否有更好的写法。user_playerinfo.csv的文件内容格式:xxx,xxxxxx,xxx,xxxx,xxxx,xxxx,xx,xxx,xxx,x,xx,x...原创 2020-01-14 15:39:15 · 175 阅读 · 0 评论 -
C代码练手记录之二
偶尔写写代码有健脑益智的功能,且不可贪多啊,过犹不及,上瘾了就停不下来,停下了很快就会对代码越来越缺乏敏锐的阅读力和表达力,代码如写作,多看多练,自然会越来越纯熟。像写作文时常用的修辞手法,总分总的结构等等,这些都会在写代码时慢慢找到类似的感觉。如果你认为我说的“不可贪多”是反话,请留意下你的身体还好吗,如果996的话,很危险的!#include <stdio.h>#inc...原创 2020-01-14 15:01:45 · 176 阅读 · 0 评论 -
C代码练手记录之一
C类语言是面向机器和算法的语言,对于了解计算机的底层原理有很大帮助,C类语言的鼻祖C语言以其语法简单,关键字不多,支持位运算,且拥有指针的加持,使得这类语言在底层开发中的应用不可或缺,是建造其他很多高级语言的基本元素,但这类语言不大适合做面向业务的开发,虽然用这类语言也是可以实现的,但效率很低,但C类语言作为最能展现计算机运作原理的高级语言,一直以来都是作为计算机工业的底层驱动力推动和伴随着计算...原创 2020-01-07 18:49:15 · 192 阅读 · 0 评论 -
Linux升级和编译内核
最近几年linux内核推陈出新,版本迭代的速度明显加快了很多,由于linux之父对内核版本号的设定的改革,版本号不会再像2.4和2.6时代,很久时间主版本号都不会变动了。给人的感觉就是版本更替的速度加快了很多,除此之外,也会提高关于linux内核的关注度,随着linux的发展壮大,应用越来越普遍,linux内核在业界的影响也越来越重要。升级和修改内核是一个比较有意思,也有一定风险的操作,但个人...原创 2020-01-02 11:57:24 · 268 阅读 · 0 评论 -
C++中引用(&)的用法和应用实例
一、什么是引用引用,顾名思义是某一个变量或对象的别名,对引用的操作与对其所绑定的变量或对象的操作完全等价语法:类型 &引用名=目标变量名;特别注意:1.&不是求地址运算符,而是起标志作用2.引用的类型必须和其所绑定的变量的类型相同1 #include<iostream>2 using namespace std;3 int main(...转载 2019-10-23 12:48:23 · 1711 阅读 · 0 评论 -
单向循环链表基本操作
C和其他语言都一样,只是关键字更少,更接近硬件,底层操作大都需要用C中的头文件和库函数来实现。学习的过程也不乏乐趣,在入门阶段,不建议大家去磨练算法,非常枯燥。建议学习一些系统编程和网络编程,趣味性更强,也能做一些有用的东西,不会乏味到失去兴趣。等过了这个阶段,对C的认识已经比较全面和具有一定深度了,再去看一些算法相关的,也不会觉得很复杂了。后期,不管用什么语言都完全是个人思维的表达,不影响表达思...原创 2019-10-14 20:42:31 · 546 阅读 · 0 评论
分享