【发布时间】:2015-04-09 14:41:24
【问题描述】:
我想问一下这两种数组传递方式有没有区别:
unsigned char array[100];
function(array);
Where:
library.cpp
uint8_t LibraryClass::function(unsigned char array[]) { }
library.h
uint8_t function(unsigned char array[]);
还有这个:
unsigned char array[100];
function(array);
Where:
library.cpp
uint8_t LibraryClass::function(const unsigned char* array) { }
library.h
uint8_t function(const unsigned char* array);
我的问题是:
- 这与方法有区别吗?
补充问题:
- 我的 MCU 需要在方法 1 中而不是方法 2 中进行额外操作?
- 方法2中多了一个const,为什么要用?使用指针时使用 const 是否安全?
【问题讨论】:
-
通常,C 文件具有 .c 扩展名,而 C++ 文件通常具有 .cpp 扩展名。你确定你使用的是 C(语言不一样)?
标签: c++ c arrays function pointers