数组

数组声明为 数据类型 名称[ constant-size ],并将一个数据类型的一个或多个实例分组到一个可寻址的位置,constant-size可能是一个表达式,但是该表达式必须求值为常量,例如: #define MAX_SIZE 16 ... int list [MAX_SIZE 1];

C数组开始于元素0,所以像阵列定义 int a[3];将创建三个int元件,可寻址如a[0],a[1],和a[2]请注意,即使定义很难说a[3],也没有名为a[3]

与其他变量一样,全局和静态数组元素默认情况下初始化为0,并且自动数组元素填充有垃圾值

可以使用大括号中的一个或多个值来初始化数组,例如int a[3] = {5, -2, 17};ANSI C之前的编译器可能不允许在自动数组上进行初始化

如果存在初始化值列表,但未 指定常量大小,则数组的大小与初始化值的数目相同int q[] = {1, 2, 3}; 是相同的。int q[3] = {1, 2, 3};

要声明对另一个文件中定义的数组的外部引用,请使用extern int a[];

收下这十点c语言入门须知 C语言三大必学知识点(1)

字符串常量

在C语言中,类型数组char用于表示字符串,字符串的结尾由设置为0的字节标记(也称为NUL字符)

以下定义都将其数组设置为相同的值: int str1 [] = {'a','b','c','\ 0'}; int str2 [] =“ abc”;

ANSI C还允许定义像int str[3] = "abc"; ,即是相同的int str[3] = {'a', 'b', 'c'}; (省略了最终NUL字符)

收下这十点c语言入门须知 C语言三大必学知识点(2)

指针

指针是包含变量地址的变量

有两个与指针关联的运算符:该&操作符返回其参数的地址、*取消引用它的参数通过指针访问对象指针

指针的一个简单示例是: int i,j; int * p; / *指向'int'的指针* / i= 6; p =&i; / *将`p'设置为`i'的地址* / j = * p; / *将'j'设置为6('i'的值)* / * p = 5; / *将'i'设置为5 * /

指针可以包含一个地址或一个称为空指针的特殊值,该 值不同于所有有效指针指针上下文中的0将在编译时转换为空指针还有一个预处理器宏NULL(在<stdio.h>或定义 <stdlib.h>)像expression这样的表达式将导致语句是否为空指针,因此代码将与空指针 进行隐式比较if (!ptr) statementptrif (ptr)if (ptr == 0)0ptr。

收下这十点c语言入门须知 C语言三大必学知识点(3)

,