C语言解析笔记

本文深入讲解C语言的关键字、符号、预处理、指针、数组及内存管理等内容。重点介绍了const关键字的应用,以及如何区分定义与声明的区别。此外,还讨论了指针与数组之间的联系与区别,并对内存管理的不同区域进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     C语言基础已经看完,接下来看C语言深度解析,做好笔记以便复习。

第一章:关键字

1.定义;定义就是创建一个对象,为这个对象分配内存并给它取上一个名字。这也是和声明的最大的区别。

最冤枉的关键字----sizeof  ,break和continue  。break是中指本层循环,而continue是终止本层中的本次循环。

2.const关键字也许该被替换成readonly 被const 修饰的值不是常量,而是只读变量。

3.const int *p;    int const *p  ;  int *const p  ;const int *const p ;

4.union 关键字  大小端的判断。

第二章:符号

算数符优先级问题。

第三章预处理。

1,宏定义   :数值宏定义    字符串宏定义   宏定义表达式。

2,条件编译:

3,内存对齐:内存对齐遵守两原则。

第四章:指针和数组

一个变量的地址叫做指针,&a 和&a[0]的值相同但意义不一样,其实了可以按照二维数组的想法去理解。a还是常量

  。数组和指针没有任何关系,只是他们经常穿着相似的衣服逗你玩。指针就是指针,在32位机上永远占四个字节,

数组就是数组其大小和元素的类型和个数有关系。

第五章:内存管理

静态区:保存自动全局变量和static变量,栈:保存局部变量,堆:由malloc 和free系列函数分配的空间。free(p)之后没有置NULL 的叫做野指针。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值