c指针

chenglin博客 2013年11月2日 浏览 2709 回复1

指针学习:

对于指针我觉得,申明一个指针就是一个指向,必须要有指向的地址,地方;不然指针就是空的,没用,因为他没有指向任何可使用的东西。例如:
int arr[10]={1,2,3,4,5,6,7,8,9,10};
int *p = arr;
上述例子代表申明一个指针p 指向int类型的,我说了每个指针都要指向一个地址不然就是空的NULL,这里p指向了arr[0] 的地址。
你使用print(“%d”,*p)可以输出1;

再比如结构体指针

然后再main函数里面申明:
linklist test;
gets(test->name); // 输入
printf(“%s”,test->name); // 输出
看样子没什么不对吧,错误,linklist申明的test也是一个指针,他没有指向任何东西,所以是NULL,test->name不指向任何东西了,没意义了,所以我们可以这样:
再申明的时候
linklist test; 改成 linklist test =(linklist)malloc(sizeof(lnode));
以上实例,可以发现我们给test分配了指定大小的内存(sizeof(lnode)),test现在有指向的地址了,现在有意义了,执行代码

发表评论

电子邮件地址不会被公开。 必填项已用*标注

姓名
邮箱
网址

c指针》上有1条评论