我知道*
与指针有关。我仍然试图在脑海中排除这一点(指针与参考文献。)
我正在编写一本C ++书籍,其中有一个方法签名:
void DrawBitmap(char *filename, int x, int y)
*
在这种情况下意味着什么?是接受指针,还是对变量的引用?
感谢您的帮助......以及忍受一个公认的noob问题。
答案 0 :(得分:4)
这意味着您将指向字符的指针传递给它,这通常意味着指针指向字符数组中的第一个字符。使用指针(*
),您可以进行算术运算,例如(fileName + 1)获取第二个字符。当您使用引用(&
)时,您暗示接收函数应对原始数据进行操作。如果没有引用,则会传递一个副本而不是原始函数。
答案 1 :(得分:1)
其他人已经直接回答了你的问题;以下一些链接非常值得阅读有关指针的信息(以及它们的语法与C ++中的数组的关系),它们非常值得研究,我建议花一点时间阅读它们到了解这些想法:
http://www.augustcouncil.com/~tgibson/tutorial/ptr.html
http://www.augustcouncil.com/~tgibson/tutorial/arr.html
http://www.eternallyconfuzzled.com/tuts/languages/jsw_tut_pointers.aspx
答案 2 :(得分:0)
char *filename
是指向要传递给DrawBitmap
方法的字符的指针。有关详细信息,请see this link。