C/C++学习笔记

来源:互联网 发布:小明看看地址永久域名 编辑:程序博客网 时间:2024/05/17 10:42

1.指针作为参数传递问题

函数定义处:
int creat_classifier(decision_tree *&p, const vector &samples,int &attributes){ 。。。。。}
调用处:
decision_tree *child; //decisio_tree是结构体
creat_classifier(child, subSamples[i], newAttributes);

此处,指针作为参数进行传递。
1、在指针的传递中,允许传递指针变量和指针变量的地址。
2、实际上,指针变量中保存的内容是一个地址值,当需要在函数foo()中使用这个地址值时,就使用值传递,此时定义f(char *p);而当需要在函数()中使用这个地址值的地址时,就使用地址传递,此时定义f(char **p)。
3、使用&p和*&p分别表示传递的是一个变量引用,前者传递的是指针变量引用,后者传递的是指针变量地址的引用。使用*p则表示传递指针变量本身。

2.杂记

free p; //删除p指向结点所占的内存,不是删除p本身所占内存(p为指针)
p->nNext; //p所指向结构体变量中的pNext成员本身

0 0
原创粉丝点击