请在下面澄清我对结构指针的疑虑 我有如下结构
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;
我认为两种情况都是一样的。
为什么第二种情况会出错?
答案 0 :(得分:2)
他们做同样的事情,将变量的地址分配给正确的指针。你有错字。
更改
ip = &ip1;
到
ip2 = &ip1;
您尝试将值指定为键入。
<强> Here is the correct example. 强>
答案 1 :(得分:1)
ip = &ip1;
与执行操作一样无效:
int = 1;
您需要该类型ip
的名称,并且该类型应该是指针,因为您正在执行&ip1;
ip* a2 = &ip1;