一般用于全局变量 或者 堆
假如用于栈
#include<iostream>
using namespace std;
void PrintHelloWorld()
{
printf("Hello World\n");
}
int *Add(int *a,int *b)
{
int c = *a + *b;
return &c;
}
int main()
{
int a = 2, b = 4;
int* ptr = Add(&a, &b);
PrintHelloWorld();
printf("Sum = %d\n",*ptr);
return 0;
}
栈只能从下而上传参,而不能从上而下
用堆:
C:
#include<bits/stdc++.h>
using namespace std;
void PrintHelloWorld()
{
printf("Hello World\n");
}
int *Add(int *a,int *b)
{
int* c = (int *)malloc(sizeof(int));
*c = *a + *b;
return c;
}
int main()
{
int a = 2, b = 4;
int* ptr = Add(&a, &b);
PrintHelloWorld();
printf("Sum = %d\n",*ptr);
return 0;
}
C++:
#include<bits/stdc++.h>
using namespace std;
void PrintHelloWorld()
{
printf("Hello World\n");
}
int *Add(int *a,int *b)
{
int* c = new int;
*c = *a + *b;
return c;
}
int main()
{
int a = 2, b = 4;
int* ptr = Add(&a, &b);
PrintHelloWorld();
printf("Sum = %d\n",*ptr);
return 0;
}