鱼C论坛

 找回密码
 立即注册
查看: 3146|回复: 7

请教一个C 的指针赋值问题

 关闭 [复制链接]
发表于 2011-7-10 21:36:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 pekgwy 于 2011-7-10 23:31 编辑

这个是谭浩强的C程序设计第三版270页有关指针数组的内容。前面的的程序我给省了,只是想知道为什么的第四行要给P赋值,第六行循环的内容不是还要赋值吗,前面这次赋值有什么意义?多谢大家!

void print (char *name[],int n)
{int i=0;
  char* p;
  P=name[0];
  while(i<n)
    {p=*(name+i++);
      printf("%s\n",p);}
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-10 21:40:24 | 显示全部楼层

回帖奖励 +1 鱼币

建议写上来  我没有书:lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-10 21:51:58 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-10 22:07:51 | 显示全部楼层
指针最好初始化这是习惯问题 不是语法问题
如果不给指针赋值 那P就是个野指针
野指针危害很大 最好定义char*P=0时就给它赋值吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-10 22:16:31 | 显示全部楼层
服气 发表于 2011-7-10 22:07
指针最好初始化这是习惯问题 不是语法问题
如果不给指针赋值 那P就是个野指针
野指针危害很大 最好定义 ...

非常感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-10 23:28:26 | 显示全部楼层
是的,你定义了数组指针,但是没有赋予初值。这个就是进行初始化。对程序没影响。这样使程序更加完整和健壮。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-10 23:30:19 | 显示全部楼层
非常感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-11 00:08:04 | 显示全部楼层
没看懂你想表达什么、、、总之就是把接收过来的name放到一个指针数组里面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-28 23:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表