关于结构体的那些事
下面代码是用C++编的啊,但小白我要用C实现啊,C的结构体内木有函数啊,我能在结构体内定义个指针指向结构体外的函数么??using namespace std;
const int MAXN = 50010;
const int MAXK = 5;
const int MAXM = 10;
int n, m, k;
struct Point
{
int p;
inline void input()
{
for(int i=0;i<k;++i)
{
scanf("%d", &p<i>);
}
}
inline void output() const
{
for(int i=0;i<k;++i)
{
if(i)
{
printf(" ");
}
printf("%d", p<i>);
}
printf("\n");
}
}point, searchPoint;
你写一个以结构体指针为参数的函数就好了吧。。。没必要照搬C++的 foodszhu 发表于 2013-3-26 16:54 static/image/common/back.gif
你写一个以结构体指针为参数的函数就好了吧。。。没必要照搬C++的
能举个例子么~之前用Java比较多拐不过来 weeken2013 发表于 2013-3-26 17:13 static/image/common/back.gif
能举个例子么~之前用Java比较多拐不过来
就是忽略掉内联。。然后把结构体变量当做参数传进去void input(struct Point *p)
{
for(int i=0;i<k;++i)
{
scanf("%d", &(p->p));
}
}
}。
原本如果是p.input()这样调用。现在就是input(&p)这样调用了 函数指针。。 论极语易 发表于 2013-3-26 19:23 static/image/common/back.gif
函数指针。。
求指点~求代码 weeken2013 发表于 2013-3-26 19:38 static/image/common/back.gif
求指点~求代码
我懒得写了……
这样,你把原本的函数写成全局,然后在结构体内,定义一个函数指针,指向这个函数就行了。然后掉用时,去掉用函数指针
这就是用C写面向对象的一个很基本的思路 论极语易 发表于 2013-3-26 19:45 static/image/common/back.gif
我懒得写了……
这样,你把原本的函数写成全局,然后在结构体内,定义一个函数指针,指向这个函数就行了 ...
我先试试~#19m weeken2013 发表于 2013-3-26 20:01 static/image/common/back.gif
我先试试~
那怎么把结构体内的数组传给函数啊~ weeken2013 发表于 2013-3-26 22:02 static/image/common/back.gif
那怎么把结构体内的数组传给函数啊~
我写的很明确啊。。。自己翻上去看。。 foodszhu 发表于 2013-3-26 22:11 static/image/common/back.gif
我写的很明确啊。。。自己翻上去看。。
我有点理解不能啊~
struct Point
{
int p;
};
结构体里边就剩这些了?? weeken2013 发表于 2013-3-26 22:43 static/image/common/back.gif
我有点理解不能啊~
struct Point
{
当然只有数据了。。。你也只需要操作数据
面向对象只是种思维,不要强行把C++,或者java的面向对象套用在c中。。。
页:
[1]