社区
C语言
帖子详情
指针的赋值问题?
图灵转世
2003-03-13 10:37:05
TCHAR * pVarBlock, * pVarBeg, * pVarEnd, * pVarName ;
pVarBlock = GetEnvironmentStrings ();
pVarBloc是TCHAR *
GetEnvironmentStrings ();返回的是LPVOID
两种类型不一样,为何不需要转换?
...全文
19
6
打赏
收藏
指针的赋值问题?
TCHAR * pVarBlock, * pVarBeg, * pVarEnd, * pVarName ; pVarBlock = GetEnvironmentStrings (); pVarBloc是TCHAR * GetEnvironmentStrings ();返回的是LPVOID 两种类型不一样,为何不需要转换?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lifanxi
2003-03-13
打赏
举报
回复
怪!
我查了一个MSDN,上面说GetEnvironmentStrings()的返回值是LPVOID.
但查了一下GetEnvironmentStrings函数的声明,它的返回值是LPSTR型的。
不知是不是MSDN有问题。
如果是LPSTR型的,那给TCHAR * 当然没问题。
LPVOID是typedef的产物,不是类,所以我上面推论说它有类型转换函数是错的。
chinajiji
2003-03-13
打赏
举报
回复
void* ---> other Type* (implicit conversion permitted by C NOT in C++)
other Type * ---> void * (implicit conversion permitted by C and C++ )
lifanxi
2003-03-13
打赏
举报
回复
照楼上几位的意思
int * p = malloc(100 * sizeof(int));
也是合法的了?
好像得强制类型转换吧。
int i;
void * p = &i;倒是可以的。
我猜想可能LPVOID类型定义了某些类型转换的函数吧,手头没有VC也没MSDN就只能乱猜了。还请知道的朋友指点一下!
北极猩猩
2003-03-13
打赏
举报
回复
LPVOID就是void*它可以接受任何类型的指针
magicblue
2003-03-13
打赏
举报
回复
void stand for nothing rather than anything in C++
cool_ice
2003-03-13
打赏
举报
回复
LPVOID实际上是void*,在c++中void代表任何类型!
指针
如何
赋值
?关于
指针
的理解
——关于
指针
的一个
问题
今天班上的一个学霸在学习数据结构的字符串的时候遇到了一个
问题
,这个
问题
就是他在写代码的时候,不管怎么样Main方法里就是不能够给
指针
赋值
,就算
赋值
了好像
指针
里啥都没有,更别说使用其他函数了。 首先声明一下:这个
问题
其实并不难,个...
C++_关于char*字符
指针
赋值
问题
关于char*
指针
/字符
指针
赋值
问题
? 可以直接
赋值
:指向同一块内存空间,一改全改 char *ptr; ptr = "Hello"; ptr = str; 如果不想一改全改: char *a = new char[100]; strcpy((char*)a,(char*)b)
C语言中的结构体
指针
赋值
问题
在对数组或者接收到的数据进行
赋值
时,往往因为结构体中含有
指针
而无法获取接收到的数据,那么如何才能获取结构体中的
指针
指向的内容呢?这就涉及到两个部分的内容。 1、通过memcpy()
赋值
或者对数据进行结构体的强制类型转换,其中的
指针
如何指向? 以下通过一个实际的例子进行解析 typedef struct { /* data */ int a; int b; void* c; }test; int main(int argc, char const *argv[]) {
指针
可以直接
赋值
吗?
赋值
前注意强制转换格式就好了,地址不是拿来乱用的。 int *ptr;ptr = 0x111111 必然是错误的只有在强制转换右值为
指针
所声明类型后才能
赋值
,如ptr = (int *)0x111111如果是char *ptr,
赋值
的时候注意用ptr = (char *)0x111111就好了。同理,在进行动态内存分配的时候,如果double *ptr,也必须用ptr = (double *)ma...
C++
指针
的两种操作,通过
指针
赋值
& 对
指针
赋值
// 打印函数 template
void disp(T i) { cout<
指针
赋值
disp(i); int j = 10; // 对
指针
赋值
,将
指针
p指向j p = &j;
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章