我定义
typedef struct node{
int ID;
struct node *next;
}listnode;赋值语句:
listnode *p;
for( int i = 0; i < 10 ;i ++){
p->ID = i;
p = p->next
} 编译通过,运行在p->ID = i;出错,为什么?
typedef struct node{
int ID;
struct node *next;
}listnode;赋值语句:
listnode *p;
for( int i = 0; i < 10 ;i ++){
p->ID = i;
p = p->next
} 编译通过,运行在p->ID = i;出错,为什么?
delete p;
p = NULL;
分配内存 listnode *p;
p=(listnode *)malloc(sizeof(listnode)); for( int i = 0; i < 10 ;i ++){
p->ID = i;
p = p->next
}
p=(listnode *)malloc(sizeof(listnode)); for( int i = 0; i < 10 ;i ++){
p->ID = i;
p = p->next;
p=(listnode *)malloc(sizeof(listnode));
} free(p);
int a[ 10 ];
CString str;
while( p ){
a[ i ] = p->ID;
p = p->next;
i--;
str.Format("数组a的%d的的值是%d",i,a[i]);
m_list.AddString(str);
}编译没错,执行说内部不能为"read"
p=(listnode *)malloc(sizeof(listnode));
if (!p)
{
}
for( int i = 0; i < 10 ;i ++){
p->ID = i;
p->next = (listnode *)malloc(sizeof(listnode)); } free(p);
p=(listnode *)malloc(sizeof(listnode));
if (!p)
{
return;
}
for( int i = 0; i < 10 ;i ++){
p->ID = i;
p->next = (listnode *)malloc(sizeof(listnode));
if (!p->next)
{
. . .
return;
}
p = p->next;
} .
.
.