基础知识
- 具有相同的数据类型
- 保留原始数据
- 数组元素的个数必须是常量【包括符号常量】
数组的内存空间

数组访问越界
微软编译器设计,不同变量之间有八个自己的保护空间【Linux和 Mac均无】
如何打印数组元素
code
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>void print(int a[], int len);void print(int a[], int len) {for (int i = 0; i < len; i++) {printf("a[%d] = %d\n", i, a[i]);}}int main() {/* 定义数组的瞬间,数组占用的空间大小就确定下来了 */int j = 10;int a[5] = { 1,3,5,7,9 };//int a[] = { 1,3,5,7,9 };printf("j = %d.\n", j);print(a, 5);return 0;}

字符数组
字符串数组设定长度时,一定要比实际长度大一,为\0结束符留足位置,否则会引起乱码,因为打印的时候,会一直打印到下一个 \0, 如果比实际大一,那么\n就直接放置在最后一个字符后面;
code
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int main() {char c[5] = { 'h', 'e', 'l', 'l', 'o' };char d[4] = "how";printf("%s --- %s\n", c, d); /* printf()中的 %s 表示打印字符串,其后对应的是数组名*/return 0;}

scanf与 字符串数组的结合
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int main() {char c[6] = { 'h', 'e', 'l', 'l', 'o' };char d[4] = "how";char e[20];scanf("%s", e);printf("%s\n", e);printf("%s --- %s\n", c, d); /* printf()中的 %s 表示打印字符串,其后对应的是数组名*/return 0;}


