#include<stdioh>
#include<stringh>
#include<iostream>
#include<fstream>
#include<stdlibh>
using namespace std;
typedef struct point{ //结构体设计
int A, B, C, a, b, c, id, n;
}point;
point ReadFile(){
static point ss[110];
char data[50] = {'\0'};
int m1 = 0, n = 0, k, i;
for(int i = 0; i < 100; i++){
ss[i]id=rand()%10;
ss[i]A=rand()%10;
ss[i]B=rand()%10;
ss[i]C=rand()%10;
ss[i]D=rand()%10;
ss[i]E=rand()%10;
ss[i]F=rand()%10;
}
return ss;
}
void main(){
point male[110], female[110], players[110];
male = ReadFile();
}
ss是局部变量,有效范围只局限于定义ss的函数体内,即只在函数ReadFile里有效,函数返回后,ss就失效了。
你可以在ReadFile里定义ss的前面加上static修饰,表示这个是静态局部变量,静态局部变量的内存有效范围可以全局有效。
static point ss[110];
另外,结构体的typedef定义不完整。
不可以;下面两种都可以:
void reat(void)//无返回{ }
struct student creat(void)//返回值类型为struct student 类型指针
{ }
你的这种定义,编译器根本无法明白此函数是否有返回值。
函数调用结果的返回值,可以通过3个途径获得。
(1)函数自身返回
(2)通过函数参数返回
(3)通过全局量返回。
到底用那种方法,取决于程序员的考虑。
Node --通过 函数自身返回,返回一个结构指针,指向 Node 型结构。
int -- 通过 函数自身返回,返回一个整型量。
CreateLinkList 是建链表,返回Node 结构指针
GetElem 获取元素单元,返回Node 结构指针
InsertLinkList 用 int 表示插入成功或失败,或用 int 表示什么。
这些 都 取决于程序员的考虑。 没有绝对的规定。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)