c语言
文章平均质量分 95
阿姨戏太露
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用C++实现链表的基本操作
#include #include using namespace std;typedef class List{public: int data; List *next;}node;/* 单链表的创建 无参数,输入任意非0数字创建链表,输入0结束创建 返回head头指针 存在BUG:第一次输入0时,内存发生错误(已解决,无法打印出head->data的值)*/n原创 2014-04-08 23:07:58 · 601 阅读 · 0 评论 -
C语言中内存对齐规则讨论(struct)
对齐:现代计算机中内存空间都是按着byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就是需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。对齐的作用:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存储。其他平台可能没有这原创 2014-04-08 00:29:44 · 656 阅读 · 0 评论 -
C语言中的左移右移
先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用int i = 1;i = i 也就是说,1的2进制是000...0001(这里1前面0的个数和int的位数有关,32位机器,gcc里有31个0),左移2位之后变成 000...0100,也就是10进制的4,所以说左移1位相当于乘以2,那么左移n位就是乘以2的n次方了(有符号数不完全适用,因为左移有可能导致符号变化,下转载 2014-04-06 21:53:08 · 3612 阅读 · 0 评论 -
C/C++中内存管理相关知识
内存分配方式内存分配方式有三种: (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, static 变量。 (2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3) 从堆上分配,亦称动态内存分配。原创 2015-04-17 11:10:33 · 825 阅读 · 0 评论 -
C语言 有关内存的思考题
1.void GetMemory(char *p){ p = (char *)malloc(100);}void Test(void){ char *str=NULL; GetMemory(str); strcpy(str,"Hello World"); printf(str);}请问运行Test函数会有什么样的结果? 程序编译可以通过,原创 2015-04-17 14:54:43 · 1279 阅读 · 0 评论
分享