- 博客(5)
- 收藏
- 关注
转载 编译器内存分配方面的相关资料
内存分配的基本概念: 一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式类似于链表。 3、数据段区(全局区、静态区)—全局变量和静
2007-11-09 13:09:00 859
原创 统计二进制串中的1的个数
思路:使用一个0x1的标记串(一开始除了最右边一位为1外,其他位都为0)与给定的二进制串比较,若两者与运算之后值不为0,则说明二进制串的该位为1,记数变量+1;若为0,则说明该位为0, 记数变量不变。每位比较结束之后标记串左移一位(左移是在右边补0),继续比较,直到标记串为0为止(为1的位一直左移,最终为0)代码:int function (unsigned int bin){ int nu
2007-11-08 15:02:00 810
原创 对KMP算法的理解
KMP算法是一种高效的模式匹配算法,复杂度可以达到O(m+n),而普通模式匹配算法的复杂度为O(m*n)。普通模式匹配算法 从主串的第一个字符(或者给定的第pos个字符)开始和子串的第一个字符开始比较,若相等,则继续比较后面的字符。若不相等,则从主串本次开始比较的字符的下一个字符开始,与子串的第一个字符进行比较(即主串需要回退到本次比较开始字符的下一字符,模式串回退到首字符,主串与子串都需要回退
2007-11-08 14:01:00 10432 2
原创 腾讯面试题
题目:int a[]={10,20,30,40};short *p,*q;p=(short*)(a+1);q=(short*)a;a[p-q]=?来源: http://topic.csdn.net/u/20071101/22/deb510b5-e643-4d7c-a8bc-68053c9db9f6.html解答:int型,每个元素占4个字节short型,每个元素占2个字节a为int型数组,
2007-11-04 19:27:00 1236
原创 微软关于指针的笔试题
题目:struct S { int i; int * p; }; void main() { S s; int * p = &s.i; p[0] = 4; p[1] = 3; s.p = p; s.p[1
2007-11-04 09:35:00 780
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人