malloc函数

摘要: 1.函数功能Malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。2.函数原型extern void *malloc(unsigned int num_bytes);3.返回值如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。函数返回的指针一定要适当对齐,使其可以用于任何数据对象。4.与new的区别(1)malloc 函数返回的是 void * 类型。(2)函数的实参 阅读全文
posted @ 2013-09-27 17:15 尸香魔芋2013 阅读(223) 评论(0) 推荐(0) 编辑

自旋锁问题

摘要: 1.自旋锁定义 自旋锁是转为防止多处理器并发而引入的一种锁,它在内核中大量应用与中断处理等部分(对于单处理器,防治中断处理的并发可简单采用关闭中断的方式,即在标志寄存器中关闭/打开中断标志位,不需要自旋锁)。自旋锁与互斥锁的区别:(1)对于互斥所,若资源已被占用,资源申请者只能进入睡眠状态;(2)但自旋锁不会引起调用者睡眠,若自旋锁已被别的执行单元保持,调用者就一直循环查看是否该自旋锁的保持者已释放了锁。2.原理 跟互斥锁一样,一个执行单元要想访问被自旋锁保护的共享资源,必须先得到锁,在访问完共享资源后,必须释放锁。如果在获取自旋锁时,没有任何执行单元保持该锁,那么将立即得到锁;如果在获取自旋 阅读全文
posted @ 2013-09-27 16:57 尸香魔芋2013 阅读(699) 评论(0) 推荐(0) 编辑

静态变量与普通变量的区别

摘要: static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?C语言中讲讲static变量和static函数有什么作用static关键字有两种意思,你看上下文来判断1,表示变量是静态存储变量表示变量存放在静态存储区.2,表示该变量是内部连接(这种情况是指该变量不在任何{}之内,就象全局变量那样,这时候加上static),也就是说在其它的.cpp文件中,该变量是不可见的(你不能用).当static加在函数前面的时候表示该函数是内部连接,之在本文件中有效,别的文件中不能应用该函数.不加static的函数默认为是全局的.也就是说在 阅读全文
posted @ 2013-09-27 16:44 尸香魔芋2013 阅读(460) 评论(0) 推荐(0) 编辑

2014.9.25笔试题目

摘要: 1.已知一个一维数组table,用一个宏定义,求出数据的元素个数 #define NTBL(table) (sizeof(table)/sizeof(table[0])) sizeof(table)求出数组所占空间大小(即元素个数*每个元素所占空间大小);sizeof(table[0])求出单个元素所占空间大小 #define NTBL(table) (sizeof(table)/sizeof(table[0][0]))二维数组元素个数2.若有宏定义:#define MOD(x,y) x%y,则执行以下语句的输出结果是 ? int a=13,b=14;printf("%d\n&quo 阅读全文
posted @ 2013-09-25 21:57 尸香魔芋2013 阅读(402) 评论(0) 推荐(0) 编辑

2014笔试题目

摘要: 1.sizeof的用法(附strlen函数) 1)通过指针指向字符串转载于 http://blog.csdn.net/max_cpp/article/details/4268991char* ss = "0123456789";sizeof(ss) 结果 4 ===》ss是指向字符串常量的字符指针sizeof(*ss) 结果 1 ===》*ss是第一个字符strlen(ss)结果10 = = =》取得ss指针指向空间所存储的字符数strlen(*ss)结果 错误 = = =》strlen的参数只能是char* 且必须是以''/0''结尾的2) 阅读全文
posted @ 2013-09-24 22:11 尸香魔芋2013 阅读(218) 评论(0) 推荐(0) 编辑

数据库基础知识复习-2013.09.24

摘要: 1.若事务T对数据R已加了X锁,则其他事务不可对R再加任何锁。 解释:共享锁【S锁】又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。排他锁【X锁】又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。2. 阅读全文
posted @ 2013-09-24 10:58 尸香魔芋2013 阅读(229) 评论(0) 推荐(0) 编辑

2013.9.24 答题

摘要: 1、2,6,13,39,15,45,23,(D)A 46 B 66 C 68 D 69 解题思路: 6是2的3倍 39是13的的3倍 45是15的3倍 所以69就是23的3倍2、3,3,4,7,13,(B) A 19 B 23 C 31 D 41解题思路:1)递增0,1,3,6,? 2)递增1,2,3,(4) 3)反向递推,4+6=10,10+13=233.死锁的四个必要条件:互斥、请求与保持、不剥夺、循环等待。 死锁定义: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。 阅读全文
posted @ 2013-09-24 10:38 尸香魔芋2013 阅读(121) 评论(0) 推荐(0) 编辑

使用单向循环链表实现约瑟夫问题

摘要: 使用单向循环链表实现约瑟夫问题//Jose.cpp----使用单向循环链表实现约瑟夫问题//问题描述:n个人手拉手排成一个环,从第一个人开始数,每数到第m个人,第m个人出列,从下一人重新计数重新数,求全部出列后他们的出列顺序#include struct jose{int data;int no;struct jose * next;};int main(){struct jose *head,*p_curent,*p_find;int n,m;cout > n;cout > m;//初始化链表head=p_curent=new jose;//标记首表元地址,即头指针head-&g 阅读全文
posted @ 2013-09-18 21:52 尸香魔芋2013 阅读(289) 评论(0) 推荐(0) 编辑

C++关于数字逆序输出的两种思路,及字符串逆序输出

摘要: C++关于数字逆序输出的两种思路,及字符串逆序输出作者:GREATCOFFEE发布时间:NOVEMBER 15, 2012分类:编程的艺术 最近在跟女神一起学C++(其实我是不怀好意),然后女神有个作业求助,要求输入一个数字,然后程序将数字逆序输出。这机会必须把握的啊,于是咱就毅然接下了这个任务。 其实那个时候还不会,于是就去百度了……不得不说,别人写的码质量参差不齐啊,没一个我能看上的,于是那天晚上就通宵看书(《写给大家看的C++书》[美]Larry Ullman & Andreas Signer著/杨涛&王建桥&杨晓云等译,推荐),随手翻到第12章,发现有.subs 阅读全文
posted @ 2013-09-18 14:40 尸香魔芋2013 阅读(9079) 评论(0) 推荐(0) 编辑

题目要求:建立一个类Str,将一个正整数转换成相应的字符串,例如整数3456转换为字符串"3456".

摘要: 题目要求:建立一个类Str,将一个正整数转换成相应的字符串,例如整数3456转换为字符串"3456".关键:怎么将一个数字转换为字符?[cpp]view plaincopy#includeusingnamespacestd;classStr{private:intnum;//被转换的整数chars[15];//转换完的字符串public:Str(intx){num=x;}voidprint(){cout>n;Strstr(n);str.exchange();str.print();return0;}转载:http://blog.csdn.net/wh751289288 阅读全文
posted @ 2013-09-18 14:37 尸香魔芋2013 阅读(920) 评论(0) 推荐(0) 编辑