在C++数据结构中,'P=new LNode'和'LNode *P'是两种不同的语法形式,它们的主要区别在于指针的类型和内存分配的方式。

  1. 'P=new LNode':

    • 这是C++中的动态内存分配语法,用于在堆上分配内存空间。
    • 'P'是一个指向'LNode'对象的指针,它指向通过'new'运算符创建的'LNode'对象的起始地址。
    • 这种方式返回一个指针,可以通过该指针访问和操作'LNode'对象的成员。
  2. 'LNode *P':

    • 这是指针的声明语法,用于声明一个指向'LNode'对象的指针变量'P'。
    • 'P'是一个'LNode'类型的指针变量,它可以存储'LNode'对象的地址。
    • 这种方式只是声明了一个指针变量,并没有为其分配内存空间。在使用该指针之前,需要通过'new'或者其他方式为其分配内存空间。

总结:

  • 'P=new LNode'是在堆上分配内存空间,并将指针'P'指向该内存空间。
  • 'LNode *P'只是声明了一个指针变量'P',并没有为其分配内存空间。
C++数据结构中P=new LNode与LNode *P的区别详解

原文地址: https://www.cveoy.top/t/topic/i0Z2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录