C
文章平均质量分 64
GarryLau
这个作者很懒,什么都没留下…
展开
-
自己写个内存追踪器?——简易版调试工具
常用的IDE如Visual Studio在调试模式下之所以能通过查看堆栈等来追踪变量、调试,是因为IDE在申请内存的时候在实际返回给用户的内存的前后多申请了部分内存用于存储调试信息。此处做个模拟调试器,草稿版本是对原作者实现的复现;改进版是加入了对变量名的追踪,更容易看到所申请内存是哪个变量。原创 2022-11-28 20:24:19 · 276 阅读 · 0 评论 -
C中调用C++的代码
C可以调用C++原创 2022-10-31 18:29:10 · 233 阅读 · 0 评论 -
heap sort
#include <stdio.h>#include <stdlib.h> // randvoid hpsort(unsigned long n, float ra[]){ unsigned long i, ir, j, k; float rra; if (n < 2) { return; } /* The index k will be ...原创 2020-04-01 14:06:04 · 108 阅读 · 0 评论 -
function pointer in C
#include <stdio.h>int add(int a, int b){ return a + b;}int plus(int a, int b){ return a - b;}int multiply(int a, int b){ return a* b;}typedef int(*foo_func)(int, int);typedef i...原创 2020-03-02 11:43:57 · 205 阅读 · 0 评论 -
stdarg.h
示例1:#include <stdio.h>#include <stdarg.h>void PrintFloats(int num, const char * verify, ...){ va_list ap, aq; va_start(ap, verify); // 指定ap开始的位置是最后一个有名字的参数verify后面一个参数 ...原创 2020-03-02 11:42:50 · 316 阅读 · 0 评论 -
C语言中数组名到底是什么?
C语言中数组名在表达式中被解读为指向数组首元素的指针,C语言不存在多维数组。C语言中数组名在表达式中被解读为指向数组首元素的指针, 即数组名在表达式中值为数组首元素的地址。(但有个例外,int a[2];int (*pa)[2]; pa=&a;此时a解读为指向数组的指针,而不是指向数组首元素的指针)。例如,int a[2];在表达式中a表示数组首元素地址;再例如,int a[3][2......原创 2019-10-16 09:12:10 · 13891 阅读 · 0 评论 -
something interesting about C/C++
1. 关于强制转换那些事先看如下代码:#include <stdio.h>#include <stdlib.h>#define NUM 10int main(){ int a = (int)malloc(NUM * sizeof(int)); for (int i = 0; i != NUM; ++i) { ((int*)a)[i] = i; } ...原创 2018-10-24 14:52:47 · 298 阅读 · 0 评论 -
常用工具&常见问题
https://blog.csdn.net/lg1259156776/article/details/50786768原创 2018-06-16 22:14:17 · 606 阅读 · 1 评论