对于简单指针传参的说明
#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函数;
或者干脆传入一个指针变量的地址,用二级指针接收,根据二级指针的定义,二级指针变量存储的是一级指针变量的地址,因此,只需要对二级指针引用进行操作,就可以改变传入的一级指针多存的内容。