S SmartDocs
Série: C Programming Language c 40 linhas · Atualizado 2026-02-03

exercise.c

C Programming Language/solutions/intermediate/week7/exercise.c

/**
 * Solution 7.6: Function Pointers Comprehensive
 * Week 7 - Pointers Fundamentals
 * 
 * Description: Complete demonstration of function pointers in C
 */

 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <math.h>
 #include <stdbool.h>
 
 // Function prototypes for basic operations
 int add(int a, int b) { return a + b; }
 int subtract(int a, int b) { return a - b; }
 int multiply(int a, int b) { return a * b; }
 int divide_op(int a, int b) { return a / b; }

 int main () {
     printf("\n=== Arrays of Function Pointers ===\n");
     
     // int (*math_function_pointers)(int, int) = add;
     // Array of function pointers (array of function pointers)
     int (*math_operations[])(int, int) = {add, subtract, multiply, divide_op};
     char *operation_names[] = {"Addition", "Subtraction", "Multiplication", "Division"};
     char operation_symbols[] = {'+', '-', '*', '/'};
     int num_operations = sizeof(math_operations) / sizeof(math_operations[0]);
     
     int x = 20, y = 4;
     printf("Performing operations on %d and %d:\n", x, y);
     
     for (int i = 0; i < num_operations; i++) {
         int result = math_operations[i](x, y);
         printf("%s (%c): %d\n", operation_names[i], operation_symbols[i], result);
     }

     return 0;
 }
 

Artigos relacionados

C Programming Language c Atualizado 2026-02-03

bitwise_operations_advanced.c

bitwise_operations_advanced.c — c source code from the C Programming Language learning materials (C Programming Language/additional/advanced_topics/bitwise_operations_advanced.c).

Ler artigo →
C Programming Language c Atualizado 2026-02-03

huffman_coding_complete.c

huffman_coding_complete.c — c source code from the C Programming Language learning materials (C Programming Language/additional/advanced_topics/huffman_coding_complete.c).

Ler artigo →
C Programming Language c Atualizado 2026-02-03

recursion_advanced.c

recursion_advanced.c — c source code from the C Programming Language learning materials (C Programming Language/additional/algorithms/recursion_advanced.c).

Ler artigo →
C Programming Language c Atualizado 2026-02-03

sorting_algorithms_complete.c

sorting_algorithms_complete.c — c source code from the C Programming Language learning materials (C Programming Language/additional/algorithms/sorting_algorithms_complete.c).

Ler artigo →
C Programming Language c Atualizado 2026-02-03

binary_trees_complete.c

binary_trees_complete.c — c source code from the C Programming Language learning materials (C Programming Language/additional/data_structures/binary_trees_complete.c).

Ler artigo →
C Programming Language c Atualizado 2026-02-03

linked_lists_complete.c

linked_lists_complete.c — c source code from the C Programming Language learning materials (C Programming Language/additional/data_structures/linked_lists_complete.c).

Ler artigo →