c++ 数组 新手问问问!!!!!!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/29 17:13:14
这个是结构体:
struct BLOCK
{
int b_pagenum;
int b_accessed;
int b_accessnum;
int b_page[10];
}block[4];

这个被调入函数
int page_inout(int p[])
{int result;
for(int i=0;i<4;i++)
{if(p[i]->b_accessnum-p[i+1]->b_accessnum>0)result=i;
else result=i+1;
}
return result;
}

这个是main函数
void main
{
page_inout(block);
}

这个事错误提示:error C2227: left of '->b_accessnum' must point to class/struct/union

调试通过:

struct BLOCK
{
int b_pagenum;
int b_accessed;
int b_accessnum;
int b_page[10];
}block[4];

//这个被调入函数
int page_inout(BLOCK p[]) //参数是BLOCK类型的
{
int result;
for(int i=0;i<4;i++)
{
if(p[i].b_accessnum-p[i+1].b_accessnum>0)//这里不时指针不能用箭头
result=i;
else
result=i+1;
}
return result;
}

//这个是main函数
void main()
{
page_inout(block);
}

int page_inout(int p[])
{int result;
for(int i=0;i<4;i++)
{if(p[i]->b_accessnum-p[i+1]->b_accessnum>0)result=i;
else result=i+1;
}
这个函数,参数类型应该改成BLOCK型
int page_inout(BLOCK p[])

把这句话改成p[i]->b_accessnum-p[i+1]->b_accessnum>0

p[i].b_accessnum-p[i+1].b_accessnum>0

已修改程序如下:
#include <iostream>

using namespace std;

struct BLOCK
{
int b_page