当前位置:编程问答 > C/C++ >

c++ struct 定义后的变量显示 null

问题:#include "stdafx.h" #include<stdio.h> #include<windows.h> struct node { char *data; }q; DWORD WINAPI mythread(void *s) { printf("%s\n",q.data);//为什么显示为null return 0; } int main(int argc, char* argv[]) { if(argc<2) {return 0;} HANDLE handle; char * s = argv[2]; s = q.data;//有赋值 handle=CreateThread(NULL,0,mythread,NULL,0,NULL); Sleep(1000); CloseHandle(handle); return 0; } 参数为x s 显示结果为 (null) 不是应该为 s 吗?
追问:s = q.data; 这段不算是赋值吗?有些 复杂话说 朋友这个 要怎么改
答案:你应该给q.data赋值s啊,原来q.data本来就是空的,给s赋值完q.data没什么用啊

上一个:【C++】这句话是什么意思啊?initgraph(TEXT("oddball"),100, 100, 500, 500);
下一个:*p++先算*p还是p++

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,