【发布时间】:2012-02-07 16:27:26
【问题描述】:
我想就以下问题获得一些帮助。 我有一个结构节点,我想用某种方法改变它的内部。 我想在我的 main 方法中打印更改后的结构的内容。 如何在不将节点作为返回值返回的情况下更改结构并在我的 main 中查看更改的值。 我想它可以通过将结构节点作为指针传递然后对其进行编辑来解决。 这样做的正确方法是什么?
例如:
typedef struct Node{
struct Node * right;
struct Node * left;
void * data;
}Node;
void insert(void * element, Node* root){
if(root==NULL){
root=(Node*)malloc(sizeof(Node));
root->data=element;
}
}
int main(){
Node a;
int b=8;
insert(&b,&a);
printf("%d",*(int*)a.data);
return 0;
}
printf 不打印 8 它打印 1(我猜是一些垃圾)
【问题讨论】:
-
如果这是家庭作业,请标记它。是的,指针是实现这一目标的方法。
标签: c malloc parameter-passing