在数组里赋赋值赋满后继续赋值数组内数据的变化
时间: 2023-10-02 10:05:33 浏览: 48
在数组中赋值赋满后,如果继续赋值,会覆盖数组中原有的数据。如果数组长度不变,那么只有后面的数据会被覆盖。如果数组长度增加,那么新赋的值会被添加到数组的末尾。如果数组长度减少,那么多余的数据会被删除。
例如,我们定义一个长度为5的数组:
```
int arr[5] = {1, 2, 3, 4, 5};
```
如果我们继续赋值:
```
arr[3] = 6;
arr[4] = 7;
```
数组就变成了:
```
{1, 2, 3, 6, 7}
```
如果我们继续赋值:
```
arr[5] = 8;
```
数组长度增加了,数组变成了:
```
{1, 2, 3, 6, 7, 8}
```
如果我们继续赋值:
```
arr[2] = 9;
```
数组中原有的数据被覆盖,数组变成了:
```
{1, 2, 9, 6, 7, 8}
```
如果我们继续赋值:
```
arr[5] = 0;
```
多余的数据被删除,数组变成了:
```
{1, 2, 9, 6, 7}
```
相关问题
c语言二维数组内部相互赋值
在C语言中,可以通过循环语句将一个二维数组内的值相互赋值,即将数组中的某个元素的值赋给另一个元素。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
int i, j;
// 二维数组内部相互赋值
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
arr[i][j] = arr[j][i];
}
}
// 输出 arr 的值
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
在上面的代码中,我们定义了一个二维数组 `arr`,其中 `arr` 中存放了一些整数。我们通过循环语句将 `arr` 中的元素相互赋值,即将 `arr[i][j]` 的值赋给 `arr[j][i]`,从而完成了二维数组内部的赋值。最后输出 `arr` 的值,可以看到数组中的元素已经相互赋值。
C++怎么在char数组指定位置赋值
你可以通过索引操作符([])来在char数组的特定位置赋值。以下是一个示例:
```cpp
#include <iostream>
using namespace std;
int main() {
char str[10] = "Hello";
// 在索引为3的位置赋值为 'p'
str[3] = 'p';
cout << str << endl; // 输出: Helpo
return 0;
}
```
在上面的示例中,我们将索引为3的位置(从0开始计数)赋值为字符 'p',结果字符串变为 "Helpo"。请注意,数组索引从0开始,所以要将第一个位置赋值,需要使用索引0。