c语言函数参数是字符数组 c语言函数形参数组

C语言,分别用字符数组和字符指针作函数参数两种方法编程实现字符串

#include stdio.h

创新互联长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为阿城企业提供专业的网站制作、网站设计,阿城网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

#include string.h

#include malloc.h

void niXuArr(char arr[]);

char * niXuPoint(char *p);

int main(void)

{

char arr[] = {"abcdefghigk"}, *p = "you are the first";

printf("逆序前:%s\n逆序后:", arr);

niXuArr(arr);

printf("%s\n", arr);

printf("逆序前:%s\n逆序后:", p);

p = niXuPoint(p);

printf("%s\n", p);

return 0;

}

void niXuArr(char arr[])

{

int i = 0;

char temp = 0;

for(i = 0; i strlen(arr) / 2; i++)

{

temp = arr[i];

arr[i] = arr[strlen(arr) - 1 - i];

arr[strlen(arr) - 1 - i] = temp;

}

}

char * niXuPoint(char *p)

{

char *pHead = NULL, *pTail = NULL, temp = 0;

int i = 0;

pHead = (char*)malloc(strlen(p));

pTail = p + strlen(p) - 1;

p = pHead;

for(i = 0; i strlen(p); i++)

{

*pHead++ = *pTail--;

}

*pHead = '\0';

return p;

}

C语言中如何将二维字符数组作为函数参数引用传递

不可能达到目的。因为C语言中没有引用这类型,C++才有。另,C/C++都不支持传递数组,只能传递数组的首元素或行指针,所以即使是C++,也只能传递数组指针的引用,而不可能传递数组的引用,因为数组没有引用。

c语言字符型数组传入函数?

在主函数里面,sizeof是数组占的空间

在作为参数时,会被转为指针

所以在函数里面打印的是sizeof(char*)

对于任意指针,sizeof的值都是当前编译器位数。你的是32位编译器,输出就是4

ps:4字节=32位


本文名称:c语言函数参数是字符数组 c语言函数形参数组
当前网址:http://myzitong.com/article/dosjscg.html