C++数据结构中P=new LNode与LNode *P的区别详解
在C++数据结构中,'P=new LNode'和'LNode *P'是两种不同的语法形式,它们的主要区别在于指针的类型和内存分配的方式。
-
'P=new LNode':
- 这是C++中的动态内存分配语法,用于在堆上分配内存空间。
- 'P'是一个指向'LNode'对象的指针,它指向通过'new'运算符创建的'LNode'对象的起始地址。
- 这种方式返回一个指针,可以通过该指针访问和操作'LNode'对象的成员。
-
'LNode *P':
- 这是指针的声明语法,用于声明一个指向'LNode'对象的指针变量'P'。
- 'P'是一个'LNode'类型的指针变量,它可以存储'LNode'对象的地址。
- 这种方式只是声明了一个指针变量,并没有为其分配内存空间。在使用该指针之前,需要通过'new'或者其他方式为其分配内存空间。
总结:
- 'P=new LNode'是在堆上分配内存空间,并将指针'P'指向该内存空间。
- 'LNode *P'只是声明了一个指针变量'P',并没有为其分配内存空间。
原文地址: https://www.cveoy.top/t/topic/i0Z2 著作权归作者所有。请勿转载和采集!