typedef CHAR *LPSTR, *PSTR;相当于: typedef CHAR *LPSTR;
typedef CHAR *PSTR;如果是这样的话,那应该写成:
typedef CHAR *LPSTR, CHAR *PSTR;写成
typedef CHAR *LPSTR, *PSTR; 岂不是少一个CHAR吗?
typedef CHAR *PSTR;如果是这样的话,那应该写成:
typedef CHAR *LPSTR, CHAR *PSTR;写成
typedef CHAR *LPSTR, *PSTR; 岂不是少一个CHAR吗?
解决方案 »
- windows 网络编程相关
- 为什么我下载的windows核心编成的ERRORSHOW编译通不过呀?
- 这样的界面如何做?急啊!
- 问一个个人认为比较难的问题,请有经验的高手指点一下,给个思路. 谢谢了!
- 在弹出菜单中添加[显示时间]项,使得能够在窗口菜单弹出位置显示系统时间
- 调试MFC程序要怎么跟踪啊?
- ychener (贫血) 请进,谢谢热心帮忙,谢谢无私奉献,谢谢谢谢!!
- BUFFER写的问题,很简单,但我不会
- 请问有没有可能用汇编代码读取指令的机器码?
- 谁知道怎么改变IE地址栏里面的东东?
- 【基础问题,这是为什么啊?】
- CListCtrl 的 RUNTIME_CLASS::CreateObject 总失败为啥啊
PSTR 指向字符串的指针,poionter string
注意首字母.
在以前的windows版本中,有短指针和长指针之分,但在32位的版本中,已无此区分,但已成为习惯,
延续下来
比如我们定义char*变量: CHAR *LPSTR, *PSTR; // LPSTR,PSTR是变量
那么就可以使用
typedef CHAR *LPSTR, *PSTR;// LPSTR,PSTR是类型声明
将定义转成声明。
*LPSTR, *PSTR均为char的别名,且可以指定多个,如下:
typedef CHAR *LPSTR, *PSTR, my_char, my_test, my_func();
都是成立的。
int *a,int *b;
int *a;int *b;
接分
typedef int *MyInt, *YouInt;MyInt <=> int *YouInt <=> int *又比如:
typedef strut
{
}strA, *strB;
谢谢。那现在的新问题是:你怎么知道是 typedef CHAR *LPSTR 是typedef CHAR (*LPSTR) 而不是typedef (CHAR *)LPSTR呢,
可以这样定义吗?正常定义是
inyt x,y;