对于简单指针传参的说明
#include<stdio.h>
#include<malloc.h>
#include<string.h>
int InitStr(char *str);
int main()
{
char *ptr = NULL;
ptr = (char *)malloc(50);
if(ptr==NULL)
{
return -1;
}
// ptr = "hello world!";
printf("ptr = %s\n ",ptr);
InitStr(ptr);
printf("ptr = %s\n ",ptr);
return 0;
}
int InitStr(char *str)
{
if(str == NULL)
{
return -1;
}
memset(str,0,strlen(str));
// *str = "12345678derf";
strcpy(str,"srfgfsdfsef");
return 0;
}
要想改变传进来的参数,如果是传指针变量名,则要往里面写内容的话,有一定要用strcpy函数来对地址操作,或者是memcpy函数;
或者干脆传入一个指针变量的地址,用二级指针接收,根据二级指针的定义,二级指针变量存储的是一级指针变量的地址,因此,只需要对二级指针引用进行操作,就可以改变传入的一级指针多存的内容。

本文详细解析了C语言中通过指针传递参数的方法,包括如何使用malloc为指针分配内存,初始化指针,以及如何通过指针修改传入的字符串。重点介绍了使用strcpy和memset函数对指针指向的内存进行操作的技巧。
175

被折叠的 条评论
为什么被折叠?



