
C/C++
凉城旧梦彡
Day by day
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UTF8/GBK编码字符串统一按照GBK格式计算长度
int astrlen_gbk(const char *str){ const char *p_ch = NULL; int len = 0; int byte = 0; if (!str) return 0; p_ch = str;} while (*p_ch) { if (*p_ch & 0x80) { char num = *p_ch;原创 2021-02-01 17:29:06 · 967 阅读 · 0 评论 -
菜鸟玩指针
引子:数据在内存中是如何存储的,又是如何读取的?内存编号就是内存的地址(内存中每个字节都有一个编号,即地址)1.概念:地址:内部存储器的编号,称为地址。如变量int a的位置编号,变量char b的位置都是指针。指针变量:专门存放地址的变量称为指针变量。地址、指针、指针变量都称为指针。一、变量的地址(指针)和指向变量的地址变量(指针)概念:变量的指针: 就是变量的地转载 2018-02-07 09:38:51 · 389 阅读 · 0 评论 -
C/C++中extern关键字详解
extern是计算机语言中的一个关键字,可置于变量或者函数前,以表示变量或者函数的定义在别的文件中。提示编译器遇到此变量或函数时,在其它模块中寻找其定义,另外,extern也可用来进行链接指定。extern是声明不是定义,不分配存储空间。 static定义的变量或函数,只能在本文件使用。程序设计风格: 1、不要在.h文件中定义变量,容易出现重复定义错误。 2、尽量使用stat...原创 2018-06-10 14:20:32 · 311 阅读 · 0 评论 -
C/C++通过改变函数堆栈改变函数执行流程
今 天在群上看见了下面这样一个程序,说 x 能打印出 0这个值来,刚开始以为是简单的溢出,后面仔细一看和我以前的溢出猜想不一样,虽然这个技术hacker早就熟得都烂了,但是我一直都只是知道原理,没有 亲手去调试过,今天提前完成了上班的任务,所以调试一下,使用的工具有gcc,objdump,gdbreturnadress.c#includevoid function(void){ ...转载 2018-06-27 22:30:46 · 573 阅读 · 0 评论