
C语言
文章平均质量分 60
Y-peak
一个努力的小白pwn
展开
-
解决VS2017使用scanf报错问题
解决VS2017使用scanf报错问题当然也可以解决其他版本的scanf报错问题。总之要求使用scanf_s不允许使用scanf都可以解决解决方法:添加一个宏定义 #pragma warning(disable:4996)原创 2021-05-15 14:02:10 · 293 阅读 · 0 评论 -
int类型在计算机中的储存(原码、补码、反码)
int类型在计算机中的储存说起,int类型在计算机中的储存,首先要解释的就是原码、补码、反码这三个概念了。因为计算机内部储存的都是补码。原码对于int类型来说,这里我们按照常见的四个字节讲解,四个字节32个bit。第一位是符号位,0代表正数,1代表负数。所以int类型最大的整数,为0 1 1 1 | 1 1 1 1 | 1 1 1 1 | 1 1 1 1 | 1 1 1 1 | 1 1 1 1 | 1 1 1 1 | 1 1 1 1 也就是2 ^ 31 - 1 = 2147483647。最小同理原创 2021-02-23 22:52:34 · 2684 阅读 · 0 评论 -
mmap & mprotect详解
mmap&mprotect最近做了一道题, 竟然不让用system和execve, 让用mmap 和 mprotect来解决。可是身为小白萌新的我,对此一脸懵逼, 查阅相关内容和文档, 写下这篇博客, 用来回顾和分享。mmap函数头文件: <sys/mman.h>函数原型:void* mmap(void* start,size_t length,int prot,int flags,int fd,off_t offset);作用:mmap将一个文件或者其它对象映原创 2021-02-17 14:41:51 · 1368 阅读 · 0 评论 -
C语言文件读写常用函数总结
C语言常见文件函数总结有点小头疼这几天复习,可是总是有些小可爱问有关C语言文件方面的内容,在此写篇博文一劳永逸。原创 2021-01-04 15:04:14 · 3697 阅读 · 1 评论 -
C语言位运算,醍醐灌顶式教学
C语言位运算,醍醐灌顶式教学学习计算机的都了解,位运算其实以一种比较快速的运算,对于大型应用程序,可以节约很多运算时间。但是很多人都不了解,下面我来给大家大致讲解一下C语言中各种位运算符。(小声bb,不好的地方请多多包涵)位运算定义:程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。(盗用了一下百度的定义)位运算符下面我用a, b两个整型变量进行举例按位与符号:&用法:将a, b转换为二进制,末尾对其。如果对应位二进制都原创 2020-12-03 19:25:35 · 403 阅读 · 0 评论 -
C语言二维数组元素的多种表示方法小结
C语言二维数组的多种表示方法小结昨天,一个小可爱问我,为何函数中,数组可以改变主函数中的值,比如b[i],就可以改原来数组中的值。其实b[i] 等价于 *(b + i)也是通过地址间接更改的,小可爱醍醐灌顶。随便聊到了二维数组的多种等价,以a[M][N]数组为例子,该数组a[i][j] (0 <= i < M; 0 <= j < N)可以等价为:``````...原创 2020-12-02 11:46:54 · 1778 阅读 · 0 评论 -
C语言结构体占用内存总结
C语言结构体占用内存总结前几天有个小朋友问了我一下,关于C语言结构体占用空间的问题。觉得以后会对小可爱有点帮助,就打算先写一下。struct Test{ int a; char b; int c;} test;理论上,结构体中的各个成员在内存中应该是连续储存的,就像数组里面的元素一样。事实上,也确实是这个样子的,不过和我们想象的有点不一样。按照我们最初的想法,变量test所占的内存为 4 + 1 + 4 = 9。但是我们写一个小代码验证一下发现和我们想的不一样。它的原创 2020-12-02 11:17:01 · 11513 阅读 · 26 评论