C语言深度剖析之typedef学习
2012-10-06 12:46
225 查看
C语言深度剖析很是经典,其中的讲解很是精妙,会触及一些易犯错的地方。对typedef讲解后更是留下一系列纠结的习题,弄了很长间总算有点收获。
分析如下:
///////////////////typedef int a[10]////////////////typedef int* a[10]/////////typedef int (*a)[10]//////////////////////typedef
int* (*a)[10]//////////////
a b[10]; int b[10][10]; int * b[10][10]; int ((*b)[10])[10]; int *((*b)[10])[10];
int (*b[10])[10] !=int (*(*b)[10])[10];
a b; int b[10]; int *b[10]; int (*b)[10]; int *(*b)[10];
a* b[10]; int ((*b)[10])[10]; int *(*b[10])[10]; int (*(*b)[10])[10] int *(*(*b)[10])[10];
int (*b)[10][10] int *((*b)[10])[10] != int *((*b)[10])[10]; int *(**b[10])[10];
a* b; int (*b)[10]; int *(*b)[10]; int (**b)[10]; int *(**b)[10];
!= int *(*b[10]); (int (*d)[10]; b = &d;)
!= int *(*b)[10];
分析:
1. typedef定义时即 例如(typedef int a[10]) ,中间的int代表数组中存的内容。
2.定义时在后面一段即(typedef int a[10])中的a[10],在此处定义为数组与对(typedef int d) 做d[10]使用一致。
3.可把后面一部分整体当作一个类型来进行处理。
4.使用时如int* (**b)[10],这个应当这样理解:有一个大小为10的数组里面存的是int型指针,有一个数组指针指向这个数组,而另有一个指针指向这个数组指针,b就是这个指 针。
int ×d[10]; int *(*e)[10];
e = &d; b = &e;
5.typedef int* a[10]与typedef int *a[10]是一致的.
分析如下:
///////////////////typedef int a[10]////////////////typedef int* a[10]/////////typedef int (*a)[10]//////////////////////typedef
int* (*a)[10]//////////////
a b[10]; int b[10][10]; int * b[10][10]; int ((*b)[10])[10]; int *((*b)[10])[10];
int (*b[10])[10] !=int (*(*b)[10])[10];
a b; int b[10]; int *b[10]; int (*b)[10]; int *(*b)[10];
a* b[10]; int ((*b)[10])[10]; int *(*b[10])[10]; int (*(*b)[10])[10] int *(*(*b)[10])[10];
int (*b)[10][10] int *((*b)[10])[10] != int *((*b)[10])[10]; int *(**b[10])[10];
a* b; int (*b)[10]; int *(*b)[10]; int (**b)[10]; int *(**b)[10];
!= int *(*b[10]); (int (*d)[10]; b = &d;)
!= int *(*b)[10];
分析:
1. typedef定义时即 例如(typedef int a[10]) ,中间的int代表数组中存的内容。
2.定义时在后面一段即(typedef int a[10])中的a[10],在此处定义为数组与对(typedef int d) 做d[10]使用一致。
3.可把后面一部分整体当作一个类型来进行处理。
4.使用时如int* (**b)[10],这个应当这样理解:有一个大小为10的数组里面存的是int型指针,有一个数组指针指向这个数组,而另有一个指针指向这个数组指针,b就是这个指 针。
int ×d[10]; int *(*e)[10];
e = &d; b = &e;
5.typedef int* a[10]与typedef int *a[10]是一致的.
相关文章推荐
- C语言深度剖析学习错误点记录
- <<C语言深度剖析>>学习笔记之一:C语言中32个关键字
- 读c语言深度剖析 -- typedef小结
- c语言深度剖析之学习笔记(二)------------符号
- C语言深度剖析学习心得之关键字
- C语言深度剖析学习笔记
- [学习笔记]C语言深度剖析
- 读c语言深度剖析 -- typedef小结(1)
- 《C语言深度剖析》学习笔记----C语言中的符号
- 读c语言深度剖析 -- typedef小结(2)
- C语言深度剖析学习笔记-符号
- 读c语言深度剖析 -- typedef小结(3) 定义结构体
- C语言深度剖析学习笔记-预处理
- 读c语言深度剖析 -- typedef小结(3) 定义结构体
- C语言深度剖析学习笔记-指针、数组、内存、函数
- C语言深度剖析-预处理
- 《 C++深度剖析》学习日志二十四——类中的函数重载
- c语言深度剖析读书笔记
- c语言深度剖析笔记5
- C语言深度剖析——个人笔记