【C语言】总结C语言深度剖析

C语言深度剖析


sizeof是关键字而不是函数
break终止
本层 循环。continue终止本次循环
柔性数组,数组的大小为0的数组,一般用于结构体内部的最后一个数据,用来动态扩展结构体大小。
union关键字,sizeof()确定的大小是其内部
最大 成员的占据空间。内部成员都是从地址的开始处偏移。
C语言的struct 内部数据默认是私有的,而class内部成员默认为公有的
大端:低地址存放高字节数据。小段:低地址存放低字节数据
空结构体的大小为1;而不是0;


枚举和#define的区别:

1.#define宏是在预编译的阶段进行宏替换的,枚举常量则是在编译阶段确定其值。

2.枚举可以一次定义大量相关的常量,#define只能定义一个,
typeded 只是给一个类型去了一个别名。


无符号数和有符号数进行操作时,有符号数会隐式转换为无符号数

const 关键字在C语言中描述“只读变量”,记住是变量所以总是会开辟空间来存储。

而在c++中,他就是一个常量,存储在文本段。

具体内容可以参考我的这篇总结点击打开链接



C中的const默认为外连接,所以总是会为其分配内存空间。这就意味着,在C中
       const  int bufsize = 100;
 在编译期间,编译器并不知道 bufsize的值。所以,下面的代码有误:
       const  int bufsize  = 100;
       char buf[bufsize]; // errno


C++中,const默认使用内部连接.而C中使用外部连接.
内连接:编译器只对正被编译的文件创建存储空间,别的文件可以使用相同的表示符
或全局变量.C/C++中内连接使用static关键字指定.
外连接:所有被编译过的文件创建一片单独存储空间.一旦空间被创建,连接器必须解
决对这片存储空间的引用.全局变量和函数使用外部连接.通过extern关键
字声明,可以从其他文件访问相应的变量和函数.
voliate关键字,被其修饰的变量,编译器取消了优化操作。


指针和数组区别于联系:
区别:
指针就是指针,在32位系统下,他的大小是4字节,其值是一个指向某块内存地址,指针可以指向任何一块内存,但是并不是任何地方你都可以访问的。
数组就是数组,数组的大小和其存储的数据类型和元素个数有关,定义时必须指定数组的大小和元素类型。
相似点:
指针和数组是完全不同的东西,只是它们都可以“以指针的形式”或者“以”下标的形式“进行访问而已。


指针数组与数组指针;
指针数组:int *P[10];
数组指针:int (*P)[10];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值