您的位置:首页 > 编程语言 > C语言/C++

C/C++学习笔记

2016-03-11 22:14 246 查看

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成员本身
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: