c语言的数组与指针
数组
课程目标
} 掌握 组的使用
} 了解多维数组的使用
} 掌握指针的概念和使用
} 了解多级指针的概念
数组
} 数组
} 数组是具有一定顺序关系的若干个变量的集合,组成
组的各个变量称为数组的元素
} 数组中各元素的数据类型要求相同。数组可以是一维
的,也可以是多维的。
} 在科学计算中,许多重要的应用都是基于数组的。
数组
} 一维数组
} 所谓一维数组是指只有一个下标的 组。它在计
算机的内存中是连续存储的。
} C语言中,一维 组的说明一般形式如下:
[] ;
} 数组元素在内存中是连续存放的,每个元素都有一个序号,称为
下标;
} 数组下标是从0开 的连续整数,最大取值为 组元素个 减1;
} [ ]是下标运算符,具有最高的运算优先级。
数组
} 例:
} char a[10];
说明了一个含有10个元素的a 组。
} 上面语句说明的数组具有的数组元素如下:
a[0] ,a[1], a[2] , a[9]
} 这些元素的类型都为char型,在内存中它们是连续存放的,
下标范围为0-9 。
数组
} 数组所占总字节数下面公式给出:
总字节 = sizeof( 据类型) * 元素个
} sizeof(数据类型)是一个表达式,可以计算出数据类型的
长度即占用字节数。
} 在C语言中,数组不能作为一个整体参与任何运算,
组的处理是通过逐个处理其元素来实现的。数组中的元
素可用下标来访问,其格式为:
[]
数组
} / * day_mon2.c -- letting the compiler count elements */
} #include
} int main(void)
} {
} const int days[] = {31,28,31,30,31,30,31,31,30,31,30,31};
} int index;
} for (index = 0; index < sizeof(days) / sizeof (days[0]); index++)
} printf("Month %2d has %d days.\n", index + 1, days[index]);
}
} return 0;
} }
数组
} 注意事项:
} 当使用空的方括号对数组进行初始化时,编译器会根据
列表中的 值数目来确定数组的大小
} 注意for循环的控制语句,由于人工计算容易出错,因此
可以让计算机来计算数组的大小,预算符sizeof给出其后
的对象或者类型的大小(以字节为单位)。整个数组的
大小 以单个元素的大小就是数组中元素的数目。
数组
} 例:
} 计算Fibonacci 列前10项并逆序给出结果。
#include
int main(void)
{