C学习笔记
文章平均质量分 57
yinyun19890129
这个作者很懒,什么都没留下…
展开
-
c++内存中字节对齐问题详解 [ 转载 ]
一、什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数转载 2011-11-13 23:24:52 · 336 阅读 · 0 评论 -
【1】ptr = malloc(0*sizeof(char))【2】关于typedef的用法总结【3】关于有符号数、无符号数和数据类型的总结 .
ptr = malloc(0*sizeof(char));(转载)最近,看了有关malloc(0)的返回值以及其他一些问题的讨论,我把自己的感受和看法记录如下:问题:char* ptr = malloc(0*sizeof(char));if(NULL == ptr) printf("got a NULL pointer");el转载 2011-10-27 17:43:52 · 1727 阅读 · 0 评论 -
malloc()问题
malloc()的问题:#include #include void getmemory(char *p) { p=(char *) malloc(100); strcpy(p,"hello world"); } int main( ) { char *str=NULL; getmemory(str);转载 2011-10-29 09:25:18 · 2818 阅读 · 0 评论 -
数组里a和&a的区别
#includeint main(void){ int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); //&a代表整个数组的地址,+1应该加上sizeof(a)的长度,所以ptr指向a[5]位置处。 printf("%d %d\n",*(a+1),*(ptr-1));//a代表数组首元素的地址,+1应该加上sizeof(a[0]),所以转载 2011-10-30 15:10:29 · 585 阅读 · 0 评论 -
关于static
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序转载 2011-10-30 10:37:07 · 212 阅读 · 0 评论 -
位运算例子
题目1:从键盘上输入1个正整数给int变量num,输出由8~11位构成的数(从低0号开始编号) 基本思路: 1.截取8~11位的数,位移到0~3位 a)构建8~11位上为1其余为0的数 b)位与输入数 c)得到的结果右移8位 2.先将8~11位移到0~3位,截取0~3位 a)输入数右移8位 b)构建0~3位为1其余为0的数 c)位与,得到结果转载 2011-11-04 13:28:09 · 603 阅读 · 0 评论 -
动态申请内存方式和数组的比较
§当所需的空间大小不确定并且对空间有要求时 使用malloc §当需要频繁申请/释放空间时 使用数组 声明周期与释放 数组的释放遵循其声明周期,无需我们显式的释放 Malloc如果不手动释放,此内存段会处于受保护状态,将不能再被分配给别人 内存碎片转载 2011-11-04 17:49:21 · 860 阅读 · 0 评论 -
常见排序算法(冒泡,选择,快速)的C语言实现
常用的排序算法的时间复杂度和空间复杂度排序法 最差时间分析平均时间复杂度 稳定度 空间复杂度 冒泡排序O(n2)O(n2)稳定 O(1) 快速排序O(n2)O(n*log2n)不稳定 O(log2n)~O(n)选择排序O(n2)O(n2)稳定转载 2011-11-09 14:50:39 · 432 阅读 · 0 评论