typedef struct tagBITMAPINFO { // bmi
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO;
这是微软对BITMAP相关的一个定义,至少VC 6中有,VC6不支持C99.////????可能么?
偶放弃所有文章版权,偶在BCCN论坛任何贴子,可转贴,可散发,可抄袭,可复制,可被冒名顶替,可被任何人引用到任何文章中且不写出引文出处,偶分文不取。
随便找个变长数组应用的例子贴一下吧:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct _t {
size_t size;
char s[]; //这里它其实就是先声明一个数组但没有声明长度,然后在下面malloc那句获得数组长度
};
int main()
{
struct _t *t;
/*就是这句,后面的10 * sizeof (char))就是获得数组长度*/
t = (struct _t *)malloc(sizeof (struct _t) + 10 * sizeof (char));
if (!t) {
fputs("Out of memory.", stderr);
return 1;
}
t->size = 10;
strncpy(t->s, "123456789", t->size - 1);
t->s[t->size-1] = '\0';
puts(t->s);
free(t);
return 0;
}
//本身这样的用法就属于变长数组的范畴。我记得这种用法也经常叫做“结构灵活数组成员”。