“我试图将const data = {
"lonlat": "POINT (-42.796763 -5.077056)"
};
const regex = /[A-Z]+\s\((-?\d+\.\d+)\s(-?\d+\.\d+)\)/;
const [, longitude, latitude] = data.lonlat.match(regex);
console.log(longitude);
console.log(latitude);
分配给函数中的指针根。但是实际上NULL
并没有使用函数分配它。但是当我尝试分配NULL
时基本上,它被分配了。我不知道为什么会这样?
root = NULL
我得到的输出是:
#include<bits/stdc++.h>
using namespace std;
struct node{
int key;
};
void deletion(struct node* root){
root=NULL;
}
void print(struct node* temp){
if(!temp)
return;
cout<<temp->key;
}
int main(){
struct node* root = new struct node;
root->key=10;
cout<<"Initially : ";
print(root);
deletion(root);
cout<<"\nAfter deletion() : ";
print(root);
root=NULL;
cout<<"\nAfter assigning in main() : ";
print(root);
}
答案 0 :(得分:1)
您正在按值传递指针并修改该值。要修改要传递的变量的值,可以通过引用(C ++样式)传递它,也可以通过指针(C样式)传递它。对于C样式,请记住取消引用指针以更改其对调用者的值。
C ++风格:
void foo(const struct node*& n);
C风格:
void foo(const struct node** n);