(C语言)如何在结构体里引用外部已经赋值好的数组呢?

可能我表达的不是特别明确,我下面打个比方:
有这样的a[NUM] (NUM前面宏定义过了)
a[0]到a[NUM]全部已经赋值
struct text

{
unsigned long b[NUM](这里表示我要设置一个数组)
unsigned long left;
unsigned long right;

}
然后,我要想引用我之前已经赋值过得那个a数组,放到这个结构体里的b数组中去,不能用结构体数组
text *first;
first.*b=a;(我这样写应该不对的,我就是表达一下意思)
然后我后面的函数要调用这个first
所以到底怎么放,用指针指向a数组的首地址么,究竟该怎么样写才正确呢?
请各位老师指点迷津,谢谢!!

第1个回答  2015-11-24
不用这样,以为b在text里面已经声明的是指针了(这个你应该也知道,数组的声明其实就指针),所以直接
text first;
first.b=a
就能把数组a的首地址赋给数组b了,所有的操作就是用的a数组了追问

那在结构体里面定义的时候,应该用b还是b[NUM]?

追答

定义的时候还是unsigned long b[NUM];就好

本回答被提问者和网友采纳
第2个回答  2015-11-24
struct text first;
memcpy(first.b,a,NUM);

//这样是不是你想要的效果呢?

相似回答