请问指针作为函数参数的有关问题
请教指针作为函数参数的问题
我看到当指针作为函数参数时,很多都是在函数里面再定义一个指针,然后让该指针指向原来那个指针,然后对其进行操作,为什么不直接用那个作为函数参数的指针了?
比如:函数writeFailReason(char* des, int maxLength),writeFailReason里再定义了一个指针pBuf,char* pBuf = des;
然后
rc = snprintf(pBuf,maxLength,。。。。),
pBuf += rc;
rc = snprintf(pBuf, maxLength - rc, " (%s)", test_id);
函数改变的是des指向的内容,为什么不直接使用des了?
------解决思路----------------------
直接用的话,担心指针++后其指向被改变了。
------解决思路----------------------
可能 Des 在其他地方还需要,如果不需要的话,可以直接使用。因为 C 函数参数是值复制的。
我看到当指针作为函数参数时,很多都是在函数里面再定义一个指针,然后让该指针指向原来那个指针,然后对其进行操作,为什么不直接用那个作为函数参数的指针了?
比如:函数writeFailReason(char* des, int maxLength),writeFailReason里再定义了一个指针pBuf,char* pBuf = des;
然后
rc = snprintf(pBuf,maxLength,。。。。),
pBuf += rc;
rc = snprintf(pBuf, maxLength - rc, " (%s)", test_id);
函数改变的是des指向的内容,为什么不直接使用des了?
------解决思路----------------------
直接用的话,担心指针++后其指向被改变了。
------解决思路----------------------
可能 Des 在其他地方还需要,如果不需要的话,可以直接使用。因为 C 函数参数是值复制的。