一.字符串传参使用字符指针
使用指针赋值字符串前两个字符
void test1(char* str) {
*str = 'a';
*(str+1) = 'b';
}
可以观察到字符串前两个字符变成了a和b
二.字符串传参使用字符数组
void test2(char a[20]) {
string b = "asdfgfg";
strcpy(a, b.c_str());
}
使用strcpy函数相当于直接赋值
三.结构体传递
这里定义的结构体数据类型是单一的,不要包含数组或结构体(因为我也不知道怎么弄)
typedef struct num
{
double a ;
double b;
double c;
}num;
void test3(num*numdata) {
numdata->a = 10;
numdata->b = 137.7441;
numdata->c = 10.282;
}
四.一维数组传递
把传递进来的数组进行赋值
void test4(int *arr,int length) {
for (int i = 0; i < length; i++)
arr[i] = i;
}
五。传递二维数组使用指针数组
使用指针数组定义一个n行5列的指针数组,并给出入的数组赋值
void test5(double(*arr)[5], int col ) {
for (int i = 0; i < col; i++) {
for (int j = 0; j < 5; j++)
*(arr[i] + j) = i + j;
}
}
labview调用dll时传参一般属于这几种,先写这么多,后面如果有更新的话会在补充。如果有其他好的建议或意见欢迎提出指导。十分感谢。