嘿,我试着从int数组引用一个调用:
void function2(int stapel,int colour){
stapel[1]=stapel[0]
stapel[0]=colour;
}
void function1(int stapel){
int colour=2;
function2(stapel,colour);
}
int main(){
int *stapel;
stapel=malloc(sizeof(int)*2);
function1(stapel);
}
怎么了?:O我现在想在主函数中使用stapel。
最佳答案
您有错误的函数声明,您的函数正在接收指针。
你需要使用
void function2(int *stapel,int colour){...
void function1(int *stapel){...
而不仅仅是
int stape
。这是完整的代码:void function2(int *stapel,int colour){
stapel[1]=stapel[0]
stapel[0]=colour;
}
void function1(int *stapel){
int colour=2;
function2(stapel, colour);
}
int main(){
int *stapel;
stapel=malloc(sizeof(int)*2);
function1(stapel);
free(stapel); // Also free the memory
}
正如注释中所指出的,还记得在最后释放内存(这里没有实际的区别,因为程序将被终止,但始终是一个好的实践)。