gpt4 book ai didi

C++ - 指针函数参数

转载 作者:太空宇宙 更新时间:2023-11-04 15:27:38 25 4
gpt4 key购买 nike

我在这里问了一个问题:C++ - class issue

我仍然没有得到的是此处的指针参数:

void setInfo(char *strName,int id,double wage)

它被调用的地方:

abder.setInfo("Abder-Rahman",123,400);

我知道数组的名字是一个指针。但是,为什么我们必须要有一个指针数据类型呢?我们不能在函数参数列表中使用 char[] 吗?因为我认为我在尝试时遇到了错误。

谢谢。

最佳答案

But, why should we have to have a pointer data type?

因为在编译函数时需要知道函数参数的大小。 IE。该函数需要知道内存中的参数列表有多远才能找到 idwage

Cannot we use a char[] in the function parameter list?

是的,你可以,但它仍然是通过指针传递的。数据作为数组的一部分而具有的任何附加属性(例如 sizeof() 返回数组的总大小)都不会保留在被调用函数中。在函数签名中使用 [] 的能力只是向您表明传递的项目应该是某种类型的数组(而不是指向结构的指针)。

关于C++ - 指针函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4773334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com