c语言语法有关问题,求教啊 哪位高手能教小弟我一下?多谢

c语言语法问题,求教啊~ 谁能教我一下?谢谢
struct tcp_stream
{
  struct tuple4 addr;
  char nids_state;
  struct lurker_node *listeners;
  struct half_stream client;
  struct half_stream server;
  struct tcp_stream *next_node;
  struct tcp_stream *prev_node;
  int hash_index;
  struct tcp_stream *next_time;
  struct tcp_stream *prev_time;
  int read;
  struct tcp_stream *next_free;
};

struct   tcp_stream  *streams_pool; //这里定义的是指针 *streams_pool

for (i = 0; i < max_stream; i++){
    streams_pool[i].next_free = &(streams_pool[i + 1]); //这里为什么这么用?streams_pool[i]?怎么变成指针数组形式了?
}
streams_pool[max_stream].next_free = 0;
free_streams = streams_pool;

------解决思路----------------------
for 之前应该有一句 streams_pool = malloc(sizeof(struct tcp_stream) * max_stream); 才对。
------解决思路----------------------
引用:
Quote: 引用:

for 之前应该有一句 streams_pool = malloc(sizeof(struct tcp_stream) * max_stream); 才对。
为什么要这样用呢?


你的指针要指向一块已分配的空间之后你才可以用啊 ...