C语言基础知识汇集
2014-01-28 10:29
197 查看
指针
1.指针的大小:指针的大小和操作系统寻址范围相关(当然编译器也是对应版本),32位操作系统的指针就是32位2.指针的内容:指针记录的是申请内存的首地址
3.指针的加减运算:每次加减指针指向的数据类型的大小,如32位整型数指针每次加4,8位字符型指针每次加1。
结构体
1.结构体在内存中是连续的2.(gcc中)结构体的大小并不是所有的元素的大小之和,而是将数据进行了调整,使其成为最长元素的整数倍,如struct s { char a; int b; } 的大小是8;struct s { int a; double b;} 的大小为16; struct s { char a;char b;char c;char d;int i;} 的大小是8;
其调整的策略是:1.偏移量是成员自身大小的整数倍;2.结构体大小是所有成员的整数倍;结构体大小等于最后一个成员的便宜量加最后一个结构体的大小。(结构体里的结构体要将自身拆开)
联合体
1.联合体的大小取决于联合体中占内存最大的元素2.联合体中所有元素的起始地址都是联合体的起始地址
3.对联合体赋值会覆盖之前的内容,联合体中元素共用内存
相关文章推荐
- 黑马程序员——C语言基础知识整理——数据类型、常量与变量
- 使用java语言基础部分知识,做一个简易的2个数之间的关于算术运算符的计算。
- NS2 Tcl语言基础知识加深强化
- Java语言的基础知识13
- Linux下C语言编程基础知识--gcc编译器的使用、MakeFile文件的编写
- Java语言的基础知识5
- 汇编语言:第一章 基础知识
- 第1章 Java语言基础知识
- 汇编语言基础知识摘要(《汇编语言》王爽)第 3 / 17 章
- 【C语言基础一百题6】42-45题存储类别的知识总结
- JavaScript 语言基础知识点总结—链接
- 汇编语言基础知识
- git下的团队合作模型及git基础知识汇集
- Java语言的基础知识6
- C语言基础知识
- 【多图】值得收藏!JavaScript语言基础知识总结
- 1.汇编语言--基础知识
- C语言基础知识备忘
- C语言基础知识
- Win32基础知识2 - Win32汇编语言003