添加lambda表达式
This commit is contained in:
72
test/lambda_test.c
Normal file
72
test/lambda_test.c
Normal file
@@ -0,0 +1,72 @@
|
||||
|
||||
|
||||
#include "stdio.h"
|
||||
#include "stdlib.h"
|
||||
#include "stdint.h"
|
||||
#include "string.h"
|
||||
#include "main.h"
|
||||
#include "lambda.h"
|
||||
|
||||
lambda_use
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void run_callback(int (*fun)(int a, int b)) {
|
||||
int a = fun(1, 2);
|
||||
printf("a = %d\n", a);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int thread_fun(void* t)
|
||||
{
|
||||
void (*fun1)(int a, int b);
|
||||
fun1 = lambda(void(int a, int b) {
|
||||
printf("a = %d, b = %d\n", a, b);
|
||||
});
|
||||
fun1(1, 2);
|
||||
void (*fun2)(int a, int b);
|
||||
fun2 = lambda(void(int a, int b) {
|
||||
printf("a = %d, b = %d a*b=%d\n", a, b, a * b);
|
||||
});
|
||||
fun2(3, 4);
|
||||
void (*fun3)(void);
|
||||
fun3 = lambda(void(void) {
|
||||
int a = 3;
|
||||
int b = 4;
|
||||
printf("a = %d, b = %d a*b=%d\n", a, b, a * b);
|
||||
});
|
||||
fun3();
|
||||
void (*fun4)();
|
||||
fun4 = lambda(void() {
|
||||
int a = 5, b = 6;
|
||||
printf("a = %d, b = %d a*b=%d\n", a, b, a * b);
|
||||
});
|
||||
fun4();
|
||||
unsigned int (*fun5)(int a, int b);
|
||||
fun5 = lambda(unsigned int (int a,int b) {
|
||||
printf("a = %d, b = %d a*b=%d\n", a, b, a * b);
|
||||
return 6;
|
||||
});
|
||||
fun5(3, 4);
|
||||
|
||||
run_callback(lambda(int(int a, int b) {
|
||||
return a * b;
|
||||
}));
|
||||
run_callback(lambda(int(int a, int b) {
|
||||
return a * b * 10;
|
||||
}));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user