左值与右值
   左值与右值? 左值(L-value)与右值(R-value),二者之间的区别是什么? 左值与右值 01 这两个术语是多年前由编译器设计者所创造并沿用至今的,尽管它们的定义并不与C语言严格吻合。 02 左值就是那些可以出现在赋值符号左边的东西;右值就是那些可以出现在赋值符号右边的东西。 这样的解释有些脱下裤子放屁的意思,通过名称我们也能得出左值和右值的意思,那么应该出现在赋值符号左边的东西是什么呢? 03 1. a = b + 1; 2. b + 1 = a; ......
C   |  2021-05-27   2 评论   1,134 浏览

Linux 搭建FTP服务
   简介 想要在linux上搭建ftp服务是十分简单的,所以此贴并不在于安装服务,而是怎样去调试,使得我们对ftp的配置更加详细、娴熟,也是作为一个记录贴 配置 yum install -y vsftpd // 不多说,安装ftp服务(系统版本: Centos7) 在vsftpd安装完成后,会在etc目录下生成一个目录/etc/vsftpd ftpusers // FTP黑名单 不受配置影响 比user_list优先级高 user_list // 取决于 u ......
Linux   服务   Service   |  2020-06-03   0 评论   1,018 浏览

Centos 搭建DNS服务
   简介 由于dns服务的运行过程网络上有很多,随便搜搜就能找到dns的工作流程,在这里就不多做赘述了,主要是讲怎么配置 使用Centos搭建dns服务需要使用bind服务,所以我们需要先使用yum安装bind 系统 主机IP地址 Centos7(Server)192.168.31.148 Ubuntu(Client)192.168.31.234 配置 yum install -y bind //安装bind服务 如果安装失败可能是因为yum源的原 ......
Linux   Service   DNS   |  2020-04-02   0 评论   1,235 浏览

Linux反引号
   0x00 反引号是什么 反引号(` `),反引号在键盘Esc按键下,在中文模式时它是·,只有切换到英文模式才能正确输入反引号。 0x01 在Linux中反引号有什么作用? 单引号 在linux中,单引号所包含的内容只代表纯文本。 不论单引号内包含的内容是什么,只要文本在单引号内,那么就只会作为字符串被处理,并且忽略所有的命令与特殊字符。 双引号 双引号与单引号的不同之处在于,双引号会解析特殊字符,如果想要忽略特殊字符,那么需要用到 \ 转义字符。 双引号 ......
Linux   |  2021-03-12   0 评论   1,000 浏览

linux权限管理
   命令介绍 命令名称:chmod 命令原型:change mode 命令所在路径:/bin/chmod 执行权限:系统管理员及文件所有者 功能:更改文件或目录访问权限 权限 文件的权限可以分为3种: r : read 读取权限 当作用于文件时,r就代表被读取的权限;但如果read权限作用于文件夹就变成了读取文件夹内的内容了,主要是浏览目录的权限。 w : write 写入权限 当write权限作用于文件和文件夹也有着不同的反应,当文件没有w权 ......
Linux   Shell   |  2021-02-07   0 评论   943 浏览

linux的快捷方式-ln
   命令介绍 命令名称:ln 命令原型:link 命令所在路径:/bin/ln 执行权限:所有用户 功能:生成链接文件 区别 软连接 以路径的形式存在,类似Windows中的快捷方式 可以跨文件系统,而硬链接不行 权限以777(rwxrwxrwx)的形式存在 可以对目录进行链接 允许对一个不存在文件进行链接 硬链接 以文件副本的形式存在,不占用实际空间 与cp -p类似创建链接文件,并且链接文件与原文件同步更新 无法跨文件系统进行创建硬链接文件 只能对 ......
Linux   Shell   |  2021-02-07   3 评论   1,207 浏览

结构体
   引子 设计程序时,最重要的步骤之一就是选择表示数据的方法。在许多情况下,简单变量甚至是数组还不够。为此,C提供了结构变量(structure variable)提高表示数据的能力,它能够创造新的形式。 建立结构体声明 小栗子 需求:需要打印一份图书目录。里面包含每本书的各种信息:书名、作者、出版社、版权日期和价格。其中一些元素(例如书名和作者)可以储存在字符数组中,其他项目需要一个int或者float。如果使用5哥不同的数组分别记录每一项都比较繁琐,尤其是要 ......
C   结构体   |  2020-11-15   0 评论   913 浏览

更好的使用结构体
   结构体与指针 在C语言中,指针可以指向万物,自然也少不了结构体。 使用结构体指针,有4点好处: 就像指向数组的指针比数组本身更容易操控一样,指向结构的指针通常比结构本身更容易操控 在早期的C中,结构不能作为参数传递给函数,但是可以传递指向结构的指针 即使能传递一个结构,传递指针通常更有效率 一些用于表示数据的结构中包含指向其他结构的指针 根据这4点好处,证明学习结构体指针的重要性 // Book结构体沿用上面 int main(void) { struc ......
C   |  2020-11-15   0 评论   949 浏览

c语言与动态内存
   前言 在C语言中,除了获取变量的指针这种规矩的内存空间,我们还可以通过函数去申请指定大小的内存空间 动态 malloc malloc可以申请一块任意尺寸的空间,因为经常一段空间是连续的 #include <stdio.h> #include <stdlib.h> int main(void) { int *ptr = NULL; ptr = (int *) malloc(sizeof(int)); // malloc() 返回一个vo ......
C   动态内存   函数   指针   |  2020-09-21   0 评论   1,298 浏览

数组不是指针
   指针与数组 通过数组下标所能完成的任何操作都可以通过指针来实现。一般来说,用指针编写的程序比用数组下标编写的程序执行速度快,但另一方面,用指针实现的程序理解起来稍微困难一些。 声明一个数组 int a[10]; 定义一个长度为10的数组a。换句话说,它定义了一个由10个对象组成的集合,这10个对象存储在相邻的内存区域中,名字分别为a[0]、a[1]、a[2]、......、a[9]。 指向这个数组 int *pa = &a[0]; int x = ......
C   指针   |  2021-06-01   1 评论   886 浏览

详解nc (netcat)
   nc(netcat),网络工具中的瑞士军刀。 Windows与Linux平台都有它的身影,因为它短小精悍,功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。 0x01 端口扫描 nc -z -v -n 192.168.78.128 22 -z 表示为zero,意思是扫描时不发送任何数据包 -v 即为详细输出 -n 不使用dns反向查询ip地址域名 0x02 文件拷贝 很多时候我们都要在两个不同的终端间拷贝文件,虽然有很 ......
Linux   Shell   |  2021-03-13   0 评论   1,091 浏览

[头脑风暴]指针与函数还能擦出怎样的火花
   Q 有一个名为selectMode的函数,它本身有一个char类型的参数,返回值是一个函数指针。这个函数指针也有两个参数,并且返回值类型为整形 int *fp(int, int) selectMode(char); 想法很好,但是编译器却一点都看不懂,因为这应该是两个语句,被糅杂到一行里,所以它就直接报错了 那我们一步一步来解析 首先,这个函数名为selectMode,所以我们要以selectMode为主体去写 第二,selectMode函数有一个char ......
指针   C   头脑风暴   |  2020-08-28   0 评论   975 浏览

又是指针!函数与指针的化学反应
   前言 学了这么久指针,发现它是真的包罗万象,不愧为C语言的精髓 指针函数 和之前的指针数组一样,指针数组是个数组,里面的元素都是指针;指针函数也类似,指针函数是个函数,而这个函数的返回值是指针 写法也没差太多 like: int* pointfunction(void); int * pointfunction(void); int *pointfunction(void); 这三种写法哪一种都可以,第一种更直观一点,在阅读代码时也好理解 例子 char ......
指针   C   |  2020-08-27   0 评论   843 浏览

常量和指针不得不说的秘密
   前言 520 'a' 3.14 常量是固定值,在程序执行期间不会改变;变量的值是可以改变的,根据指针我们可以知道,变量并不是直接指向数据,而是指向对应数据的内存地址,如果更改变量的值,实际上只是改变了变量所指向的地址,而地址里的值是没有改变的。 #define NAME "bogendihong" #define PI 3.14 #define 宏定义:C语言允许用一个标识符来表示一串数据,称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理 ......
C   指针   |  2020-08-13   0 评论   991 浏览

详解scanf与getchar
   header scanf 和 getchar 都是c中的输入函数,但它们在用法和原理上有着不同的地方,在刚开始使用时犯了很多错误,写篇博客总结一下; scanf int scanf(const char *format, ...) scanf() 函数属于格式化函数,按照指定的既定格式从键盘上将数据输入到指定的变量中; 因为在 scanf() 语句中的格式中没有非格式字符在 "%d%d%d" 之间作为输入时的间隔,所以在输入时一定要用一个以上的空格或者回车 ......
C   |  2020-07-22   0 评论   1,116 浏览