C语言中关于*和**的使用

wgf091201221 2011-12-05 05:25:21
在C语言中,

对于**a作形参,实参的格式有哪些可以选择?

对于char* 类型的字符串,使用键盘输入进行初始化时,可以使用的方法有哪些?

...全文
247 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
liustone1263027102 2011-12-05
  • 打赏
  • 举报
回复
**a,实参可以是字符串数组,也就是二维数组,还可以是指针数组。
对于char* 类型的字符串,使用键盘输入进行初始化时:
形式1:
char *p;
p=getchar();
形式2:
scanf("%s",p);
自信男孩 2011-12-05
  • 打赏
  • 举报
回复
可以是*a, 传递的时候实参数可以传递&a.
如果你定义了char *str; 那么首先对其分配空间,使用malloc申请空间后,可以使用memset();初始化,也可以使用gets();对其赋值,也可以使用循环初始化。
CoolEgos 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jiaohailong 的回复:]

对于**a作形参,实参的格式有哪些可以选择?
可以用二维数组
对于char* 类型的字符串,使用键盘输入进行初始化时,可以使用的方法有哪些?
同楼上。
[/Quote]**a用二维数组??不对把,**a指向指针的指针,必须用地址做实参
例如:
#include <stdio.h>
int main()
{
char *a[3]={"sdfsdf","ddd","dfdf"},i;
char **p;
p=a;
for(i=0;i<3;i++)
printf("%s\n",*(p+i));
return 0;
}
Moral 2011-12-05
  • 打赏
  • 举报
回复
不懂!!!!
duke56 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shengcike_027 的回复:]

**a,实参可以是字符串数组,也就是二维数组。
对于char*的字符串,用键盘初始化,可以使用gets,cin等等
[/Quote]

#include <iostream>

using namespace std;

int main(int argc,char *argv[])//如这里的*argv[],也可以写成**argv
{
cout<<"Hello World"<<endl;
return 0;
}

//**大多是用在形参上

shengcike_027 2011-12-05
  • 打赏
  • 举报
回复
**a,实参可以是字符串数组,也就是二维数组。
对于char*的字符串,用键盘初始化,可以使用gets,cin等等
飞旭 2011-12-05
  • 打赏
  • 举报
回复
对于**a作形参,实参的格式有哪些可以选择?
可以用二维数组
对于char* 类型的字符串,使用键盘输入进行初始化时,可以使用的方法有哪些?
同楼上。
Gloveing 2011-12-05
  • 打赏
  • 举报
回复
第一个,只要你需要,甚至可以强制转换的;
输人: gets 什么的都可以

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧