栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言基础夯实

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言基础夯实

  1. 按位右移>>
    之前比较熟悉无符号数右移,比如b101 >> 2 = b1,那么有符号数右移呢?
-5 >> 2
即 b11111011 >> 2 = b11111110 = 0

有符号数右移左边的二进制位补1,无符号数右移是左边的二进制位补0。
2. 按位与&和逻辑与&&的区别
逻辑与是将要运算的两个数看作一个整体,而这个整体如果是0,则该数被定义成逻辑假(0);如果该数不为0(不管是正的还是负的),则被定义成逻辑真。

3 && -5 = 1
  1. 数组的空间必须是连续的,这就造成数组在内存中分配空间时必须找到一块连续的内存空间;所以数组不可能定义的太大,因为内存中不可能有那么多大的连续的内存空间。
  2. 结构体变量名代表的是整个结构体变量,而不像数组名代表地址。
  3. 在C语言中,定义局部变量时如果未初始化,则值是随机的,为什么?
    定义局部变量其实是在栈中通过移动栈指针,来提供一个内存空间与这个局部变量名绑定,而栈的内存空间是反复使用的,即上次用完没清零的。
  4. 堆内存申请可选择的三个函数:
malloc
calloc
realloc
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849593.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号