gpt4 book ai didi

c - 指向嵌套结构指针的指针

转载 作者:行者123 更新时间:2023-11-30 16:58:35 25 4
gpt4 key购买 nike

BST有两种结构

typedef struct _price {
double price;
char* shopname;
} pricing;

typedef struct _bstnode {
int id;
pricing** pl;
int nr_of_prices;
struct _bstnode *left;
struct _bstnode *right;
struct _bstnode *parent;
} bstnode;

我需要制作一个可以在BST节点中添加和更新价格和商店名称的功能。一个节点可能包含很多店铺和价格

void updatePrice(bstnode* root, int id, char* shop, double price){
//to do
}

我可以添加单个商店名称和价格,但如何添加多个对象?

(*(root->pl))=malloc(sizeof (pricing));  // ---??
(*(root->pl))->price=price;
(*(root->pl))->shopname=shop;

最佳答案

如果 nr_of_prices 属于 pl,这将动态添加一个对象:

int oldidx = root->nr_of_prices++;
root->pl = realloc( root->pl, root->nr_of_prices * sizeof(*root->pl));
root->pl[oldidx] = malloc(sizeof(pricing));
root->pl[oldidx]->price = price;
root->pl[oldidx]->shopname = shop;

关于c - 指向嵌套结构指针的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38698489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com