问个结构体和c指针相关的问题

来源:8-6 案例:单链表的基本实现

慕尼黑7034286

2021-03-28

/**
 * 自定义一个Array结构
 */
typedef struct {
    // 数组
    int *data;
    // 数组中的元素个数
    int size;
    // 数组的容量
    int capacity;
} Array;

/**
 * 在index索引的位置插入一个新元素e
 */
void add(Array *array, int index, int e) {
    assert(array->size < array->capacity && index >= 0 && index <= array->size);
    for (int i = array->size - 1; i >= index; --i) {
        array->data[i + 1] = array->data[i];
    }
    array->data[index] = e;
    array->size = array->size + 1; // 这一句总是报内存不可访问,是为什么呢?
}
写回答

2回答

bennyhuo

2021-03-28

你确定不是上一句报错?你的 data 是怎么初始化的?

0
3
慕尼黑7034286
非常感谢!
2021-03-30
共3条回复

bennyhuo

2021-03-28

//img.mukewang.com/szimg/6060869d09e90a8c16421458.jpg

只要你正常初始化了 data,没啥毛病啊。

0
0

C语言系统化精讲 重塑编程思想 打造坚实的开发基础

如果通向大牛的道路有捷径,那就是先学好C语言

2208 学习 · 853 问题

查看课程