HOWTO: Declare an Array of Pointers to Functions

ID: Q30580


The information in this article applies to:
  • Microsoft C for MS-DOS
  • Microsoft C/C++ for MS-DOS
  • Microsoft Visual C++ for Windows, 16-bit edition, versions 1.0, 1.5
  • Microsoft Visual C++, 32-bit Editions, versions 1.0, 2.0, 4.0, 4.15.0, 6.0


SUMMARY

The sample below demonstrates building an array that contains function addresses and calling those functions.

Sample Code


/*
 * Compile options needed: none
 */ 

#include <stdio.h>

void test1();
void test2();            /*  Prototypes */ 
void test3();

/* array with three functions */ 
void (*functptr[])() = { test1, test2, test3 } ;

void main()
{
   (*functptr[0])();    /*  Call first function  */ 
   (*functptr[1])();    /*  Call second function */ 
   (*functptr[2])();    /*  Call third function  */ 
}

void test1()
{
   printf("hello 0\n");
}

void test2()
{
   printf("hello 1\n");
}

void test3()
{
   printf("hello 2\n");
} 

Additional query words:

Keywords : kbLangC kbVC kbVC100 kbVC150 kbVC200 kbVC400 kbVC410 kbVC500 kbVC600
Version : :; MS-DOS:; WINDOWS:1.0,1.5; winnt:1.0,2.0,4.0,4.15.0,6.0
Platform : MS-DOS WINDOWS winnt
Issue type : kbhowto


Last Reviewed: January 31, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.