![]() |
1
12
当你叫它的时候,
指针的副本指向与原始指针相同的对象(在本例中,指向数组的初始元素)。 在C++具有通过引用语义的意义上,C没有传递引用语义。C中的所有内容都是通过值传递的。指针用于获取按引用传递的语义。 |
![]() |
2
4
数组只是使用指针的一种奇特方式。当你经过的时候
|
![]() |
3
2
与相同
数组参数是 腐朽的 指向其第一个元素的指针。 |
![]() |
4
2
数组的处理方式与其他类型不同;不能在C中传递数组“按值”。 Online C99 standard (draft n1256)
在通话中
在函数参数声明的上下文中,
|
![]() |
5
1
*char buf[]实际上意味着char**,所以您是通过指针/引用传递的。 这说明buf是一个指针,在 主要的 福 |
![]() |
6
1
因为你正在传递一个指向
|
![]() |
7
1
有了指针就不同了;传递的是值,但传递的是指针的值,它与数组的值不同。
|
![]() |
8
1
数组和指针(几乎)是一回事。
它也是合法的(将编译和工作相同)写
还有
|
![]() |
9
0
为了传递该值,函数需要知道参数的大小。在这种情况下,您只是传递一个指针。 |
![]() |
10
0
如果要保留原始数组的内容,可以将字符串复制到函数中的临时存储器中。 edit:如果将char数组包装在一个结构中并传递该结构,会发生什么?我相信这也行得通,尽管我不知道在编译器级别会产生什么样的开销。 |
![]() |
11
0
表示将使用[]表示法。不是要使用数组的哪个元素。 如果您想指出这一点,您想得到一些特定的值,那么您应该将此函数声明为
所以。。。
是一个声明,说明要使用哪个符号([]-part),它还包含指向某些数据的指针。
相当于&buf[0]。所以。。。这是一个指针。 |
![]() |
12
0
在函数参数中使用数组是一种很好的方法,它可以向您的API用户发出这样一个信号:这个东西应该是一块被分割成n字节大小的内存块,但是不要指望编译器会关心您是否拼写
|
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |