#3
by box » 3年前
ほんのちょっとしたサンプルコードその2です。
コード:
#include<stdio.h>
typedef int (*keisan)(int, int);
int add(int a, int b)
{
return a + b;
}
int sub(int a, int b)
{
return a - b;
}
int mul(int a, int b)
{
return a * b;
}
int div(int a, int b)
{
return (b != 0) ? (a / b) : 0;
}
int main(void)
{
keisan f[] = { add, sub, mul, div };
int i;
for (i = 0; i < sizeof(f) / sizeof(f[0]); i++) {
printf("%p\n", f[i]);
printf("%d\n", (*f[i])(10, 3));
}
return 0;
}
ほんのちょっとしたサンプルコードその2です。
[code]
#include<stdio.h>
typedef int (*keisan)(int, int);
int add(int a, int b)
{
return a + b;
}
int sub(int a, int b)
{
return a - b;
}
int mul(int a, int b)
{
return a * b;
}
int div(int a, int b)
{
return (b != 0) ? (a / b) : 0;
}
int main(void)
{
keisan f[] = { add, sub, mul, div };
int i;
for (i = 0; i < sizeof(f) / sizeof(f[0]); i++) {
printf("%p\n", f[i]);
printf("%d\n", (*f[i])(10, 3));
}
return 0;
}
[/code]