C语言 第 8 节 char* 传参 形参的使用

#include 
struct notify {
	void *data;
	char *name;
};
int get_name(char *sname)
{
	int ret;
	printf("3 sname addr = 0x%x\n", sname); //接受到传进来的参数后 将地址复制一份放到一个地方	
	*sname = "sxgd";
	return 0;
}
int main()
{
    int ret;
    struct notify noti;
	noti.data = NULL;
	noti.name = "abc";
	
	printf("1 name  = %s\n", noti.name);          //  传递参数之前 noti.name 的值
	printf("2 name addr = 0x%x\n", ¬i.name);   //  传递之前noti.name的地址
	ret = get_name(¬i.name);     // 将noti.name的地址作为形参传送过去, 
	
	printf("ret = %d\n", ret);
	if(!ret){	
    printf("noti.name = %s\n",noti.name);
    printf("noti.data = %s\n",noti.data);
	}
   return 0;
}

输出:

1 name  = abc
2 name addr = 0x48d4f170
3 sname addr = 0x48d4f170
ret = 0
noti.name = sxgd
noti.data = (null)

你可能感兴趣的:(C语言,C语言学习)