结构体申请内存错误 传递了一个指针的拷贝
2013-12-25 10:30
274 查看
今天在写lua脚本的申请函数时出现了一个低级错误, 在一个函数中申请new,但是传递进去的是一个指针,如下init1 函数 这样写其实是错误的 正确地写法应该是init
或者可以修改init1返回申请的值。
我一直以为我这样是传的指针,但是其实我这样的写法是传的值。
#include <iostream>
using namespace std;
或者可以修改init1返回申请的值。
我一直以为我这样是传的指针,但是其实我这样的写法是传的值。
#include <iostream>
using namespace std;
struct node { int a; int b; }; void init(struct node **pnode) { *pnode = new node; (*pnode)->a = 11; (*pnode)->b = 12; } void init1(struct node *pnode) { pnode = new node; pnode->a = 11; pnode->b = 12; } int main(int argc, char * argv[]) { struct node *pnode=NULL; init(&pnode); //正确 init1(pnode);//错误 cout << pnode->a << endl; cout << pnode->b << endl; }
相关文章推荐
- 关于为结构体指针申请内存的问题
- C中指针传递的一个错误--二级指针的传值问题
- 结构体指针内存——指针数组——字符串指针内存申请
- C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
- 传递双重指针申请内存,典型用法
- C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
- 结构体指针为分配内存访问结构体成员错误
- 【VS开发】【C/C++开发】传递双重指针申请内存,典型用法
- ICE如何传递一个结构体指针
- jna对结构体、指针、引用、拷贝参数传递的使用
- 如果函数的参数是一个指针,不要指望用该指针去申请动态内存。
- malloc和free(3)——malloc()申请内存得到指针,通过memcpy()拷贝数据到指针所指内存,指针没有改变,调用free()释放内存不会报错
- C/C++ 错误笔记-在给结构体中的指针赋值时,要注意该指针是否已指向内存空间
- C语言创建链表错误之通过指针参数申请动态内存实例分析
- 指针动态申请内存的错误分析
- 关于指针和数组对申请内存malloc和作为参数传递的一些问题
- 指针参数传递内存的一个测试程序
- c语言中定义结构体指针并指向一片内存空间和直接定义一个结构体变量的区别 Node *p=(Node *)malloc(sizeof(Node)); 和 Node p 两个有什么区别??? Node是一
- Delphi函数翻译成VC要注意句柄指针传递(传递Handle的时候,必须加上一个指针引用,才能消除编译错误)
- 如果函数的参数是一个指针,不要指望用该指针去申请动态内存