c语言字符串数组函数参数,C语言/C++ 数组作为函数参数 | 您所在的位置:网站首页 › c语言函数地址传递 › c语言字符串数组函数参数,C语言/C++ 数组作为函数参数 |
前几天帮别人解决数组拼接问题(类似字符串拼接)时想到这个专题。因为她的代码太糟糕。 我们知道C、C++中的数组是没有拷贝(复制)运算的,除非编译器支持。因为C语言发明的初衷是替换汇编语言,要知道你用不同指令集的机器就要用不同的汇编语言。。。(此处省略800字议论文) 我们想一想,当我们声明定义一个数组时,定义了数组的哪些 int array[10] = {0}; 从上面的代码中我们可以得知数组的类型是int, size是10。 所以我们使用参数传递函数时,就必须将类型和大小两个信息传递给函数。 C语言有两种方式可以实现: 字符串数组: 我们知道C语言中的字符串其实就是字符串(const char *str = "PHP IS THE BEST!";)数组。并且初学这也知道字符串是以\0结尾的。 对于字符串数组,通常\0后面的数据都不重要啊。 我们只需要把数组的地址(same as第一个元素的地址)传递给函数。 如果我们需要字符数组的size(其实不是size,确切的说是length),只需要strlen函数即可(后面的数据who cares)。 char str[20] = "hello world"; void function(char *str); void function2(const char *str); 其他的数组: 对于其他数组我们只需要传递数组的第一个元素和数组的长度即可。 int array[10] = {0}; void function(int *arr, int size); void function2 |
CopyRight 2018-2019 实验室设备网 版权所有 |