C程序两则

时间:2022-05-26 12:32:37
<span style="font-size:24px;">#include<iostream>
using namespace std;
int *fun(){
	int a[3] = { 1, 2, 3 };
	return a;
}
int main(){
	int *a = fun();
	int i, j;
	for (i = 0; i < 3; i++)
		cout << a[i]<<endl;//输出的时候并非输出1,2,3而是一些混乱的数字,在fun()返回的一瞬间,a[3]空间就被释放了.所以在很多时候调用函数要传递空间(告诉函数把结果放在什么地方).
	return 0;
}</span>

<span style="font-size:24px;">#include<iostream>
using namespace std;
struct str{ int a[3]; char c[10]; };
int main(){
	str aa = { 1, 2, 3,"wei" };
	str bb = aa;//这里bb,aa是不同的实体
	bb.a[2] = 99;
	cout << aa.a[2] << endl;//输出为3
	return 0;
}</span>