1、采用书上第 93 页定义的数组的顺序存储表示,编程实现数组的下列基本操作。 (1)构造数组 (2)销毁数组 (3)取数组元素值 (4)给数组元素赋值 用C语言输出此完整可运行代码
时间: 2024-11-13 19:23:48 浏览: 13
福建省计算机等级考试二级C语言选择题(2010年1月).pdf
在C语言中,我们可以使用结构体来代表数组,并实现数组的构造、销毁、取值和赋值等操作。这里是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义数组元素类型
typedef struct {
int* data; // 数组指针
int size; // 数组大小
int capacity; // 数组容量
} Array;
// 构造数组
Array* create_array(int size) {
if (size <= 0) {
printf("Error: Invalid array size.\n");
return NULL;
}
Array* arr = (Array*)malloc(sizeof(Array));
arr->data = (int*)malloc(size * sizeof(int));
arr->size = size;
arr->capacity = size;
return arr;
}
// 销毁数组
void destroy_array(Array* arr) {
if (arr != NULL) {
free(arr->data);
free(arr);
}
}
// 取数组元素值
int get_array_element(Array* arr, int index) {
if (index >= 0 && index < arr->size) {
return arr->data[index];
} else {
printf("Error: Index out of bounds.\n");
return -1;
}
}
// 给数组元素赋值
void set_array_element(Array* arr, int index, int value) {
if (index >= 0 && index < arr->size) {
arr->data[index] = value;
} else {
printf("Error: Index out of bounds.\n");
}
}
int main() {
// 示例:创建并操作数组
Array* myArray = create_array(5);
if (myArray != NULL) {
// 设置元素
set_array_element(myArray, 0, 10);
set_array_element(myArray, 2, 20);
// 取元素
printf("Element at index 0: %d\n", get_array_element(myArray, 0)); // 输出 10
// 销毁数组
destroy_array(myArray);
}
return 0;
}
```
注意这个示例中的代码仅作为教学用途,实际应用中需要考虑内存管理和错误处理。在这个代码中,我们首先定义了一个结构体`Array`,包含了数据指针、大小和容量。然后分别实现了构造函数`create_array`、销毁函数`destroy_array`、获取元素函数`get_array_element`以及设置元素函数`set_array_element`。
阅读全文