结构指针地址分配产生错误

时间:2017-08-29 07:27:39

标签: c

请在下面澄清我对结构指针的疑虑   我有如下结构

struct ip_node {
      char arr[6];
};

typedef struct ip_node ip;

ip ip1={"abcde"};

case 1: // it is running without error
ip *ip2=&ip1;

case 2: // it is giving error
ip *ip2;
ip = &ip1;   

我认为两种情况都是一样的。

为什么第二种情况会出错?

2 个答案:

答案 0 :(得分:2)

他们做同样的事情,将变量的地址分配给正确的指针。你有错字。

更改

ip = &ip1; 

ip2 = &ip1;

您尝试将值指定为键入。

<强> Here is the correct example.

答案 1 :(得分:1)

ip = &ip1;

与执行操作一样无效:

int = 1;

您需要该类型ip的名称,并且该类型应该是指针,因为您正在执行&ip1;

ip* a2 = &ip1;