摘要:
==================结构和联合==================聚合数据类型能够同时存储超过一个的单独数据c提供了两种类型的聚合数据类型:数组和结构数组是相同类型的元素的聚合,它的每个元素都是通过下标引用或指针间接访问来选择的。结构也是一些值的集合,这些值成为他的成员。但一个结构的各个成员可能具有不同的类型。每个结构成员都有自己的名字,他们是通过名字来访问的。这个区别很重要,结构不是一个它自身成员的数组。和数组不同,当结构变量在表达式里使用时,它并不被替换成指针,结构变量也无法使用下标来选择特定的变量,结构变量属于标量类型,所以你可以像对待其他标量类型一样执行相同类型的操作。 阅读全文
摘要:
数组的形式是int a[];int b;b是一个标量,a就是一个数组,因为它是一些值的集合。下标和数组名一起使用,用于标识集合中某个特定的值,每一个特定的值都是一个标量可以用于任何可以使用表量的环境中,a[1]标识一个标量一个整数,那么a是什么呢?一个合乎逻辑的答案是他代表整个数组。但事实并非如此,在c中,在几乎所有使用数组名得表达式中,数组名得值是一个指针常量,也就是数组第一个元素的位置。它的类型取决于数组元素的类型;如果他们是int型那么他们就是指向int的常量指针。但请不要根据这个事实得出数组和指针是相同的结论。数组具有一些和指针完全不同的特性,例如数组具有特定的大小而指针只是个标量值。 阅读全文