一维数组
本章重点:
一维数组的创建于初始化,一维数组的使用,一维数组在内存中的存储,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
数组:一组相同类型元素的集合,数组括号里面的值是常量表达式
int main() { int arr[8]; //这是数组,并未初始化 //char ch[5]; int n = 8; int arr1[n]; //常见错误,n必须是常量,不能是变量 return 0; }
数组计算易混淆
char ch1[5] = "bit"; //3 char ch2[] = "bit"; //3 char ch3[5] = { 'a','b','c' }; //3 char ch4[] = {'a','b','c'}; //42 因为没有遇到/0,会一直继续向后计算 3 printf("%d\n", strlen(ch1)); printf("%d\n", strlen(ch2)); printf("%d\n", strlen(ch3)); printf("%d\n", strlen(ch4));
printf("%s\n", ch1); //bit printf("%s\n", ch2); //bit printf("%s\n", ch3); //abc printf("%s", ch4); //abc汤汤。。撒胡椒粉哈克?
算出数组的长度
sizeof(arr)/sizeof(arr[0]);
char arr[10] = { 'a' }; int b = sizeof(arr) / sizeof(arr[0]); printf("%d", b); //10 ,求出数组的长度 return 0;
一维数组在内存中的存储
一维数组在内存中是由低到高存放的,随着下标的增长,地址是由低到高变化的
注意:后面一个地址永远比前一个地址多4,因为int类型
++++++++++++++++++++++++++++++++++
数组和指针的转变