unsigned char Data[t];如何知道t的大小? 赐教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unsigned char Data[t];如何知道t的大小? t=sizeof(Data)/sizeof(unsigned char); sizeof(Data)=4 你们说的都不对,麻烦调试一下再回复。 t是你自己定义的一个数组大小的变量,一般应该是INT,或LONG,那你自己应该知道它的大小了吧。 同意 yinzhaohui(努力)的看法,不知道你 用动态取得t有什么意义? 我是知道t的大小,但我还想知道怎么利用譬如说类似sizeof的方法来知道它的大小,可以吗?这是某种悖论,但是希望有解决方法。 bool GetPicture(int Type, unsigned char Data[1024], int& nCount){ char ans[2048]; memset(ans,0,2048);}如果我用某种方法得到Data的大小为t=1024,定义ans的时候就不用写死成2048,可改写成char* ans;ans=new char[2*t];memset(ans,0,t); sizeof(Data) 是unsigned char *的长度/sizeof(Data[0]) 是unsigned char 的长度 不能这样作函数中多加一参数 count 来表示Data的数组的个数 t=sizeof(Data)/sizeof(Data[0])t就是所求啊 是啊,我用TC2.0和VC都试过了,是这个结果,但我觉得这个结果应该依赖于编译器。 我明白了,问题出在对问题的描述上。现在不是这样的程序unsigned char Data[10];int n=sizeof(Data); //结果为10而是这样void f(unsigned char Data[])//等同于 void f(unsigned char *Data){ int n=sizeof(Data); // 结果为 4} 去参考一下Windows API的常用形式吧,在要传数据的地方都是传一个指针加一个数组长度参数。如HRESULT CoCreateInstanceEx( REFCLSID rclsid, IUnknown * punkOuter, DWORD dwClsCtx, COSERVERINFO * pServerInfo, ULONG cmq, //MULTI_QI 结构数组的长度 MULTI_QI * pResults); 收到数据的客户端socket句柄,是不是"有信号"的内核对象,能让WaitForXXX函数返回? 编写的采集卡采集程序总是点击开始后就无法响应了 listbox如何才能一直显示最后的内容 帮忙 一个关于表格的问题 我的妹妹该怎么办? 怎样才能调试好程序,高手指路,谢谢! 关于ATL的一个简单问题:加了MFC函数后编译不能通过 關於消息映射函數中重載基類函數的問題. 简单的问题 诚心求教,Up有分 用appwiaard初始一个dialog base的应用程序,怎样实现程序运行时隐藏窗口。就像超级解霸光驱伺服器(不是现出现窗口再隐藏)。
{
char ans[2048];
memset(ans,0,2048);
}
如果我用某种方法得到Data的大小为t=1024,定义ans的时候就不用写死成2048,可改写成
char* ans;
ans=new char[2*t];
memset(ans,0,t);
/sizeof(Data[0]) 是unsigned char 的长度
不能这样作
函数中多加一参数 count 来表示Data的数组的个数
t就是所求啊
现在不是这样的程序
unsigned char Data[10];
int n=sizeof(Data); //结果为10而是这样void f(unsigned char Data[])
//等同于 void f(unsigned char *Data)
{
int n=sizeof(Data); // 结果为 4
}
REFCLSID rclsid,
IUnknown * punkOuter,
DWORD dwClsCtx,
COSERVERINFO * pServerInfo,
ULONG cmq, //MULTI_QI 结构数组的长度
MULTI_QI * pResults
);