Массивы указателей - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 3
#define T 20
void reverseFunc ( char *a[] )
{
int i;
printf ("%s ", *a[0]);
}
int main()
{
char *a[N] = {"Hello", "Morning", "Sleep"};
puts(a[0]);
reverseFunc ( a );
return 0;
}Решение задачи: «Массивы указателей»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
void reverseFunc ( char **a, int n )
{
int i;
for (i=0; i<n; i++) printf ("%s \n", a[i]);
}
int main()
{
char *a[3] = {"Hello", "Morning", "Sleep"};
puts(a[0]);
reverseFunc (a,3);
system("PAUSE");
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и массивами
- Объявление функции reverseFunc с двумя параметрами: указателем на массив указателей и целым числом (размер массива)
- Внутри функции объявление переменной i типа int для использования в цикле
- В цикле for, выполняемом от 0 до n-1, выводить на экран значение каждого элемента массива a с помощью функции printf
- Вызов функции reverseFunc с массивом a и его размером n
- Вывод на экран значения первого элемента массива a с помощью функции puts
- Ввод в консоль любой буквы, чтобы программа не закрылась мгновенно
- Завершение функции main с возвратом значения 0, что означает успешный конец работы программы