c语言函数的参数指针数组,c语言函数指针数组用法

c语言指针数组做函数参数, 来大神。怎么办?

strcmp的参数里p[j]和p[j+1]是指针数组的元素,里边存放的是字符串的首地址。在C语言中,字符串都是用首地址来表明的,所以可以吧指针数组中的地址值说成是代表字符串。

成都创新互联公司主营海陵网站建设的网络公司,主营网站建设方案,app软件开发公司,海陵h5成都小程序开发搭建,海陵网站营销推广欢迎海陵等地区企业咨询

c语言编程 指针数组作为函数参数

#includestdio.h

#includestring.h

int main()

{

void sort1(char **p1);

void print(char **p2);

static char *name[]={"zhang","wang","li","zhao","abe"};

sort1(name);

print(name);

return 0;

}

void sort1(char **p1)

{

int i,j;

char *p;

for(i=0;i4;i++)

for(j=i+1;j5;j++)

if(strcmp(p1[i],p1[j])=0)

{

p=p1[i];

p1[i]=p1[j];

p1[j]=p;

}

}

void print(char *p2[])

{

int i;

//getchar();

for(i=0;i5;i++)

printf("%s\n",*(p2+i));

}

请问在C语言中,函数传参时怎样利用指针传递数组

数组名就是指针,例如:

#include stdio.h

void pr(char *p)

{

printf(p);

}

void main(void)

{

char s[] = "abc";

pr(s);

}

扩展资料:

注意事项

非数组类的声明尽量以指针的方式进行比较好。倘若一个指针指向的内存并不是一个数组,那么采用数组名的声明方式或许就会给人产生错误的引导。类似的,如果指向的是一个数组区域,则会给人以更加丰富的信息。例如:

int main(int argc,char* argv[])

{

/* code here */

}

int main(int argc,char** argv)

{

/* code here */

}

两种方式完全等价,但是前面一种能够更清晰地看出:这个参数是指向某个元素起始地址的指针,而后面的这种方式则不能够直观地看出这种含义。


文章标题:c语言函数的参数指针数组,c语言函数指针数组用法
网页链接:http://pwwzsj.com/article/hopdcd.html