如果我有结构: / *链接列表结构* /
struct list
{
struct list *prev;
int data;
struct list *next;
} ** *node = NULL, *first = NULL, *last = NULL, *node1 = NULL, *node2 = NULL**;
class linkedlist {
public:
/* Function for create/insert node at the beginning of Linked list */
void insert_beginning() {
**list *addBeg = new list;**
cout << "Enter value for the node:" << endl;
cin >> addBeg->data;
if(first == NULL) {
addBeg->prev = NULL;
addBeg->next = NULL;
first = addBeg;
last = addBeg;
cout << "Linked list Created!" << endl;
}
else {
addBeg->prev = NULL;
first->prev = addBeg;
addBeg->next = first;
first = addBeg;
cout << "Data Inserted at the beginning of the Linked list!" << endl;
}
}
在同一程序中使用创建新节点(具有2个指针和数据)和仅与节点分开的单个指针之间的SYNTAX区别是什么。 (粗体部分之间的差异)
答案 0 :(得分:0)
以下是一些例子。
声明node
变量
node n;
此处n
是node
类型的变量或实例。
声明指向node
类型
node * pointer_to_node;
注意类型标识符后面的*
。 *
用于声明指针。
还要注意指针没有指向任何东西。
指向指针
指针可以指向其类型的任何内容。所以以下内容是有效的:
node n;
node * pointer_to_node = &n;
在上面的示例中,pointer_to_node
被初始化为指向变量n
。
node * pointer_to_dynamic = new node;
在上面的语句中,程序在动态内存中分配node
个实例。内存的位置分配给pointer_to_dynamic
变量。换句话说,变量pointer_to_dynamic
现在指向新分配的动态内存。