一个结构的处理疑问?
以下是一个简单程序,想输出结构的内容,请大家指点下,万分感谢!typedef struct DATA_STRU{
int len;
char *pdata;//指向要输出的数据缓冲,用指针是想让其可以指向任意大的数组或字符串
}DATA;
char string1[] = {"abcd"};
//char string2[] = {"efghiskkl"};
void put_data(char *pbuf, int len)
{
int i;
char *pbuffer = pbuf;
for (i = 0; i < len; i++)
{
out_data(*pbuffer++);//输出到终端的函数
}
}
void main(void)
{
DATA g_data;
g_data.len = strlen(string1);
g_data.pdata = ?;//请问这个要怎么取string1的值,让下面的函数调用后可以输出string1的内容呢?
put_data(&g_data.a1, (g_data.len + sizeof(int)));
}
我用g_data.pdata=string1,输出的值为string1的地址值,而非string1的内容abcd!请问要怎么取值成行,或者结构要如何更改呢?