Форум программистов, компьютерный форум CyberForum.ru

Передача массива структур в функцию не указывая размера массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ в массивах С(28) и М(12) определить количество элементов до последнего максимального http://www.cyberforum.ru/cpp-beginners/thread615032.html
в массивах С(28) и М(12) определить количество элементов до последнего максимального
C++ Подсчитать в строке, содержащей арифметическое выражение, количество используемых цифр и букв, заменить "+" на "-", подсчитать количество действий Ввести строку А с клавиатуры, содержащую арифметическое выражение. Подсчитать количество используемых цифр и букв. Заменить операцию "+" на "-". Подсчитать количество действий в выражении. http://www.cyberforum.ru/cpp-beginners/thread615026.html
C++ Удалить каждое четное слово во введенной строке
удалить каждое четное слово во введенной строке
Сдвинуть элементы массива C++
Все элементы массива Х(30) сдвинуть на n позиций влево при помощи указателей
C++ В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него http://www.cyberforum.ru/cpp-beginners/thread615014.html
В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него
C++ Создать массив из элементов другого массива, которые являются полными квадратами В массиве С(100) лежат целые числа. Сформировать новый массив В таким образом, чтобы в него вошли те элементы массива С, которые являются полными квадратами (1,4,9,16,25...) подробнее

Показать сообщение отдельно
Bogdan30637
0 / 0 / 0
Регистрация: 27.06.2012
Сообщений: 17
02.07.2012, 16:35  [ТС]     Передача массива структур в функцию не указывая размера массива
В struct_count?
Но здесь то работает без проблем:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <stdio.h>
#include <stdlib.h>
#include <string>
struct data {
    char key[20];
    char value[50];
};
 
size_t struct_count( struct data s[] ) {
    struct data *p = s;
    size_t count = 0;
    if( p != NULL) while (*p->key) {
        p++; count++;
    };
    return count;
}
 
int main()
{
    struct data *test;
    test = (struct data *)malloc(100 + 1);
    memset( test, ' ', sizeof(struct data) * 100 );
    test[100].key[0] = 0;
 
    printf("test.count = %d\n", struct_count( test ));
 
    struct data s1[] = {
        {"1", "value 1"},
        {"2", "value 2"},
        {"3", "value 3"},
        {"4", "value 4"},
        {"5", "value 5"},
        {"6", "value 6"},
        {"", ""},
    };
    struct data s2[] = {
        {"", ""},
    };
    printf("s1.count = %d\n", struct_count( s1 ));
    printf("s2.count = %d\n", struct_count( s2 ));
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru