duanzhijie 发表于 2015-3-17 15:22:12

void writeString(uchar * str, uchar length)为什么可以这样调用writeSt...

void writeString(uchar * str, uchar length)
{
    uchar i;
    for(i = 0; i < length; i++)
    {
         writeData(str);
   }
}
.........
if(v < 0)
    {
      writeString("- ", 2);
   }
    else
    {
       writeString("+ ", 2);
    }
    if(datas != 0)
    {
      writeData('0'+datas);
    }
    for(count = 1; count != 5; count++)
    {
      writeData('0'+datas);
      if(count == 2)
      {
            writeData('.');
      }
    }
}

duanzhijie 发表于 2015-3-17 15:41:37

void writeString(uchar * str, uchar length),明明是指针,在调用时却出现writeString("- ", 2);中指针处有负号,不解。

duanzhijie 发表于 2015-3-17 15:42:49

哪位大神C语言学得好的大神帮忙解释一番,谢谢!

冷雨夜 发表于 2015-3-17 15:22:13

duanzhijie 发表于 2015-3-17 15:41
void writeString(uchar * str, uchar length),明明是指针,在调用时却出现writeString("- ", 2);中指针处 ...

这里的负号是字符串。。。

形参是字符串指针,实参也是传的字符串,有何不妥?

duanzhijie 发表于 2015-3-17 15:52:09

冷雨夜 发表于 2015-3-17 15:50
这里的负号是字符串。。。

形参是字符串指针,实参也是传的字符串,有何不妥? ...

可以这样调用吗?深表不解。

duanzhijie 发表于 2015-3-17 15:54:59

冷雨夜 发表于 2015-3-17 15:50
这里的负号是字符串。。。

形参是字符串指针,实参也是传的字符串,有何不妥? ...

不好意思,刚刚回复慢了,你说的感觉上很有道理。

duanzhijie 发表于 2015-3-17 16:02:04

本帖最后由 duanzhijie 于 2015-3-17 16:15 编辑

冷雨夜 发表于 2015-3-17 15:50
这里的负号是字符串。。。

形参是字符串指针,实参也是传的字符串,有何不妥? ...

谢谢你,刚刚我把你的说法拿到百度上去问了一下,确实有这种用法!!!
指针变量作为函数形参,而实参是一个字符串,那么形参指针存放的是字符串的首地址 !!!!
http://zhidao.baidu.com/link?url=_UwYF9zfWoLi0D4KJuRGJPJZbdlCYviRQPa26hx9BnKtg-Qnx5I1eU0yBIzCwHSK9QKPu3RrWlelSZawmflPJ_
页: [1]
查看完整版本: void writeString(uchar * str, uchar length)为什么可以这样调用writeSt...