创建一个静态数组

时间:2022-04-19 19:30:14

通过地址不足

因为指针解引用直接访问值慢访问参数传递地址比访问参数通过值传递

可能这句话可能应该如下

因为指针解引用直接访问值慢访问参数传递地址比访问参数通过引用传递

我想假设参数通过值是因为他们已被复制

[原来参考通常由编译器实现的(引擎盖下)使用指针。因此,引用没有解决任何更快。他们只是有一个良好的语法,并使用安全。

我所注意的是传递一个数组时,它的地址变化,指针指向当里面的函数的地址。这使得原有的价值不会改变。我想这只是它是如何工作的

【好问题和洞察力。事实上,指针参数是按值传递的。因此,如果你想改变一个指针指向里面的一个函数,它的改变一个变量的局部相同的——只要你离开的功能,它将恢复到它是什么。然而,如果你解引用指针和改变它所指向的值,不会被还原。如果你真的希望能够改变一个指针指向在一个函数的地址最好的办法是按引用传递指针本身

无效的函数(char *和地址)

顺便说一句这行代码是危险的

地址=“B”

这是地址的设置“地址”变量地址的“B”。B”的地址是什么B”不是一个变量,所以这真的没有任何意义。它可能工作在这种情况下,由于编译器处理字符串的方式,但我肯定不愿意相信它。亚历克斯。

关于这一问题的见解?顺便说一句,我知道字符串数组不是数组但指针,但再一次,这真的是一个当使用字符串数组?只是不同的语法对吗?

【在C语言中,数组和指针是非常一致的。当你声明一个数组,你要做的是建立一个指针,你的内存分配开始。如果我读你的上述声明是正确的,你的理解是正确的。这意味着你可以做这样的事

中字符[] =“你好世界”/创建一个静态数组