西安免费做网站电话,网站 seo优化,庆元建设局网站,owl WordPress主题对于数组的初始化需要注意以下几点#xff1a;
可以只给部分元素赋值。当{ }中值的个数少于元素个数时#xff0c;只给前面部分元素赋值。例如#xff1a;
int a[10]{12, 19, 22 , 993, 344};表示只给 a[0]~a[4] 5个元素赋值#xff0c;而后面 5 个元素自动初始化为 0。 …对于数组的初始化需要注意以下几点
可以只给部分元素赋值。当{ }中值的个数少于元素个数时只给前面部分元素赋值。例如
int a[10]{12, 19, 22 , 993, 344};表示只给 a[0]~a[4] 5个元素赋值而后面 5 个元素自动初始化为 0。
当赋值的元素少于数组总体元素的时候剩余的元素自动初始化为 0 对于short、int、long就是整数 0 对于char就是字符 ‘\0’ 对于float、double就是小数 0.0。
我们可以通过下面的形式将数组的所有元素初始化为 0
int nums[10] {0};
char str[10] {0};
float scores[10] {0.0};由于剩余的元素会自动初始化为 0所以只需要给第 0 个元素赋值为 0 即可。
只能给元素逐个赋值不能给数组整体赋值。例如给 10 个元素全部赋值为 1只能写作
int a[10] {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};而不能写作
int a[10] 1;如给全部元素赋值那么在定义数组时可以不给出数组长度。例如
int a[] {1, 2, 3, 4, 5};等价于
int a[5] {1, 2, 3, 4, 5};scanf() 读取数据时需要一个地址地址用来指明数据的存储位置而 nums[i] 表示一个具体的数组元素所以我们要在前边加 来获取地址。
for(i0; i10; i){scanf(%d, nums[i]); //注意取地址符 不要遗忘哦}5.数组长度 length 最好是常量表达式例如 10、204 等这样在所有编译器下都能运行通过如果 length 中包含了变量例如 n、4m 等在某些编译器下就会报错
6.数组名与指针的关系 数组名都表示数组第一个元素的地址可将其看作是一个指针常量。数组名与arr[0]的意义一致。
int arr[5] {1,2,3,4.5};
int *p arr; //用指针变量p指向arrp中存储的是数组首元素的地址。arr[ 1 ]; //访问数组中的第2个元素。
*( arr1 ); //与 arr[ 1 ] 作用相同。
*arr 1 ; //*的优先级高于表示第一个元素的值1。
arr[5]; //访问越界产生随机值。
2[arr]; //与 *(arr 2)作用相同。本文是摘抄笔记希望支持原创原创地址如下 https://blog.csdn.net/Erica_ou/article/details/80809479 http://c.biancheng.net/view/1828.html