sta
数组定义
数组定义时[ ]和{ }不能都为空
定义字符串时[ ]不能省略;定义出现问题可能不会报错,就很烦,要注意定义的格式!!
strlen
使用strlen()时
获取字符串的长度但不包括 '\0' ,他是遇见 '\0'就停止,因此存在局限性,如果一个数组在非结尾处存在'\0'那么计数会在此处停止。
函数传递数组;
int main() {
/*定义一个函数,让数组逆置*/
int arr[] = { 1,2,3,4,5,6,7,8,9 };
int length = sizeof(arr) / sizeof(int);
reverseArr(arr, length);
return 0;
}
// int * arr 形参定义成指针也可以
void reverseArr(int arr[], int length) {
//int len = sizeof(arr) / sizeof(int);
//printf("len=%d\n", len);//2
int i = 0;// 首元素的索引
int j = length - 1;//尾元素的索引
int temp;// 中间变量
while (1) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
if (i >= j) { // 注意条件
break;
}
}
//输出
for (int i = 0; i < length; i++) {
printf("%d ", arr[i]);
}
}
指针与数组的关系
有关数组改变数值的点
数组名是个常量,一旦定义好数组后,不可以给数组赋值为一个新的数组,但是可以通过角标的方式获取和修改数组的元素