为什么会输出P空?我在test中赋空间为啥没有用?
#include <stdio.h>
#include <malloc.h>
void test(int *p)
{
p=(int*)malloc(sizeof(int));
}

int main()
{
int *p=NULL;
    test(p);
    if (p==NULL)
        printf("p空");

   return 0;
}

我在test中赋空间 为什么在main中显示p为kong

2个回答

你这样传的是p所指向内容的指针,*p 能够修改p所指向的内容。

如果要修改指针本身的内容,就要传指针的指针。

要在局部函数里面修改谁,就传谁的指针或引用。

void test(int **p)
{
    //此时 p 为 指针p的地址,*p 为p指向的内容的地址,**p为p指向的内容
    *p = (int*)malloc(sizeof(int));
}

test(&p); //把指针自己的地址传进去

test方法里面的sizeof()方法参数应该是*p吧

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

2
Tensorflow建一个神经网络,输出数据只有一个谱型,且杂乱
1
pymysql(0.9.2) + mysql(5.7.23 ) 调用存储过程,获取输出参数有时为空
2
为什么我这个程序每次交叉验证求取spread的结果都不同呢?最终结果也不相同?
1
求解为什么不能调用另一个py文件的函数,导入过,但结果却是module 'test' has no attribute 'func1'
3
关于指针数组输出时如何显示分别显示 地址,元素,
0
用keras做图像2分类,结果总是所有test样本归为其中一类?
0
BP神经网络法负荷预测,这段代码的输出神经元为什么是5个?隐含层神经元为什么为27个?
0
matlab神经网络预测,想要得到误差图,但y(i,:)=sim(net,p_test)显示维数不匹配,怎么改啊?
3
.py用pyinstaller打包生成的exe,在cmd里面运行没有print输出
1
函数指针做为结构体成员,怎么正确调用此函数指针所指向的函数?
1
LSTM的loss不断下降,但train和test的准确率始终在0.5左右
2
为什么LSTM用于分类任务效果很差?
5
Java语句中单独写一个字面值为什么会报错?
2
如何在unity3D中调用python写的网络
3
mybatis中使用resources类获取配置文件流为空?
4
在PHP中创建array为什么不能用new关键字?数组array不是对象吗?
1
这样会调用拷贝构造函数吗?输出结果是什么?调用顺序什么?求解
0
统计一个给定字符串中指定的字符出现的次数
3
请问python这段代码中,两个变量名的输出结果为什么会不一样?
1
将所有传入的参数全部打印出来 ?