想要用结构体的地址实际直接用就可以了,不用申请数据(假如后面的代码用不上的话),
nameval strtable[10];
strtable[i]对应值的指针实际上就是strtable+i
这样直接用,不用申请数组.
这个和int型道理是一样的 a[0]的地址是a ,a[i] 的地址是a+i
STRUCT NAMEVAL{
CHAR *NAME;
NAMEVAL *NEXT;
};
NAMEVAL *STRTABLE[10];
这样就可以了吧
struct nameval{char * name;};
struct nameval strtable[10];
这样就行了
printf("%9ld",n);这句,由于你用了%ld,printf会到n那里读取一个long型值,但n是一个整形,所以读取的一半是随机的,最终的结果也是随机的。