node *和* node有什么区别?

时间:2019-03-17 01:56:53

标签: c pointers

在下面的c ++中的二叉树实现中,使用指针node *和* node有什么区别。我对指针的实现很弱。

struct node  
{ 
    int data; 
    struct node *left; 
    struct node *right; 
}; 

struct node* newNode(int data)
{ 

  struct node* node = (struct node*)malloc(sizeof(struct node)); 

  node->data = data; 

  node->left = NULL; 
  node->right = NULL; 
  return(node); 
} 


int main() 
{ 
  struct node *root = newNode(1);   
  root->left        = newNode(2); 
  root->right       = newNode(3);

  root->left->left  = newNode(4); 

  getchar(); 
  return 0; 
}

1 个答案:

答案 0 :(得分:0)

使用相同的名称,数据类型和对象名称是相当不好的做法。

PersistenceOptions options = new PersistenceOptions();
DataSource myFancyDataSource = new BasicDataSource();
options.setJtaDataSource(myFancyDataSource);
EntityManagerFactory emf = new EntityManagerFactoryBuilderImpl(
        new PersistenceUnitInfoDescriptor(options), null
).build();
EntityManager em = emf.createEntityManager();

现在,这种混乱消失了。