![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
电子科技大学
这个作者很懒,什么都没留下…
展开
-
C语言中的运算符>>和<<是算术移位而非逻辑移位
逻辑移位指,右移在高位补0,左移在高位补1;原创 2014-04-30 16:32:01 · 2477 阅读 · 0 评论 -
C语言中,为什么指针表达式的值+1.对应的地址值却+4?/为什么两个数组元素的地址相减之差不为地址之差?
在C语言中,我们常常用到的一个运算是让某个变量的值+1.例如 M = M + 1。而在实际运用中,我们发现对于指针进行+1运算,算出来的结果是+4。如下图图中我们定义的 变量M 和指针Matrix如下:int M = 3;int* Matrix = {1,2,3};可以看到,对于M和 Matrix ,+1运算的效果是不同的。这个差异是因为原创 2014-07-02 16:05:11 · 7000 阅读 · 2 评论 -
C语言 realloc为什么要有返回值,realloc返回值详解/(解决任意长度字符串输入问题)。
在C语言操作中会用到大量的内存操作,其中很常用的一个是realloc(). 由字面意思可以知道,该函数的作用是用于重新分配内存。 使用方式如下: NewPtr=(数据类型*)realloc(OldPtr,MemSize) 其中OldPtr指向 待重新分配内存的指针。 NewPtr指向 新分配空间的指针。 MemSize原创 2014-07-10 16:13:12 · 5143 阅读 · 1 评论 -
释放内存free()错误:CRT detected that the application wrote to memory after end of heap buffer:内存访问违规
在程序处理中,通常会将一个大数组的一部分赋值给一个小数组。例如笔者所做的二叉树操作,将二叉树的元素原创 2014-07-14 14:53:26 · 27596 阅读 · 4 评论