首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于指针初始化的有关问题

2012-03-16 
关于指针初始化的问题?#includestdio.htypedef struct node{int datastruct node *next}Nodevoid ini

关于指针初始化的问题?
#include"stdio.h"
typedef struct node{
int data;
struct node *next;
}Node;
void initList(Node *p)
{
p=(struct node *)malloc(sizeof(struct node));
p->data=3;

}
main()
{
Node *p;
initList(p);
printf("%d",p->data);

}
这个程序,为什么最后输出不是3?而是一个随机数?
还有就是在TC环境下编写C语言程序,有时候并不需要给指针赋初值但是还是可以照常运行,在c++里面不行,这是TC编译环境自身的原因吗?

[解决办法]

C/C++ code
#include<stdio.h>typedef struct node{int data;struct node *next;}Node;void initList(Node **p){  *p=(struct node *)malloc(sizeof(struct node));  (*p)->data=3;}int main(){Node *p;initList(&p);printf("%d",p->data);return 0;} //是你个人理解方面的问题,你理解有误罢了。 

热点排行