首页
社区
课程
招聘
[求助]若干问题,诚心求教!
2006-8-13 17:50 3961

[求助]若干问题,诚心求教!

2006-8-13 17:50
3961
若干问题,诚心求教!
1.看到有些程序里API函数前加了"::"符号,为什么要加域控制符?什么情况下要加,而什么情况下可以不加?
2.有一结构体,结构体有一成员指向一个自编的函数,怎样
通过访问结构体来调用这个函数呢?又怎样来传递参数呢?即,如何用C实现类似于C++中类的成员函数的调用方式,如class1.fn(param).

[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 270
活跃值: (176)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
ikki 9 2006-8-14 02:53
2
0
MFC对Windows Api进行了封装,参数和Windows API可能不一样,好象使用缺省的HANDLE,HWND参数这样的比较多见.如
SendMessage
GetWindowText
如果想给特定的进程发送消息,或者读取指定的窗口控件的文字,就要用Windows  API,前面要加域符号::,表示用的是全局域的Windows API函数.

C中的结构体内是不能有函数的,C++里面才可以,和Class的调用方法一样的.
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xszhou 2006-8-14 10:19
3
0
全局域的API函数(native API)??
这种说法好像不恰当吧
雪    币: 194
活跃值: (71)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fangxin 2006-8-14 12:09
4
0
加:: 好象就是直接调用系统API吧.

结构体中应该可以有指向函数的指针吧.
雪    币: 270
活跃值: (176)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
ikki 9 2006-8-14 12:50
5
0
说的不清楚
我的意思是C的结构体中是不能定义函数的,包含指向函数的指针是可以的.一个小小的例子:
#include <stdio.h>

typedef int (*PF)(int, int);

struct T
{
int a;
PF pFun;  
};

int add(int a, int b)
{
    return a + b;
}

int main()
{
T   test;

test.pFun = add;
      
printf("%d", test.pFun(2, 3));
   
return 0;
}
雪    币: 270
活跃值: (176)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
ikki 9 2006-8-14 13:15
6
0
最初由 xszhou 发布
全局域的API函数(native API)??
这种说法好像不恰当吧

确实说错了
雪    币: 255
活跃值: (11)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
ayun 1 2006-8-19 14:43
7
0
感谢ikki的帮助!
游客
登录 | 注册 方可回帖
返回