Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Инициализация динамического массива при создании / 9 сообщений из 9, страница 1 из 1
12.11.2014, 17:50
    #38803927
kab18
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация динамического массива при создании
Возможно ли это сделать с динамическим массивом по типу обычного массива?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
float Exp[NumbOfExp]={5.56,5.46,5.34,5.36,5.58,5.33,5.79,5.67,
   5.54,5.27,5.45,5.61,5.53,5.4,5.47,5.49,5.65,5.71,5.39,5.64,5.48,
   5.11,5.46,5.45,5.46,5.5,5.7,5.73,5.32,5.2,5.45,5.41,5.41,5.49,
   5.19,5.54,5.71,4.97,5.21,5.23,5.39,5.31,5.48,5.68,5.6,5.4,5.85,
   5.35,5.73,5.33,5.37,5.57,5.39,5.51,5.63,5.58,5.44,5.72,5.59,
   5.37,5.46,5.33,5.11,5.5,5.48,5.42,5.47,5.49,5.38,5.24,5.59,
   5.11,5.42,5.68,5.27,5.29,5.48,5.61,5.25,5.55,5.61,5.54,5.48,
   5.21,5.22,5.05,5.47,5.57,5.26,5.6,5.31,5.43,5.49,5.38,5.37,5.79,
   5.55,5.69,5.81,5.51};
...
Рейтинг: 0 / 0
12.11.2014, 18:03
    #38803944
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация динамического массива при создании
kab18Возможно ли это сделать с динамическим массивом по типу обычного массива?
А смысл?

Если у тебя есть инициализация массива на старте, то эти самые инициализирующие данные где-то должны хранится?
...
Рейтинг: 0 / 0
12.11.2014, 18:08
    #38803956
kab18
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация динамического массива при создании
White Owl,
я хочу создать функцию которая бы работал с массивами разной размерности, поэтому я не могу его сделать статическим. легче сделать все массивы динамическими, передавать размерность и указатель в функцию. данные все должны быть в коде программы.
...
Рейтинг: 0 / 0
12.11.2014, 18:11
    #38803960
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация динамического массива при создании
kab18я не могу его сделать статическим
Что мешает?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.11.2014, 18:20
    #38803972
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация динамического массива при создании
Код: plaintext
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.
#include <stdio.h>
#include <stdlib.h>

int sum( int *arr, unsigned int size) {
   unsigned int i;
   int s = 0;
   for(i=0; i<size; i++) {
      s += arr[i];
   }
   return s;
}

int a[] = {1,2,3};

int main( int argc, char **argv) {
    int b[] = {1,2,3,4,5,6};

    int *c = malloc(sizeof(int) * 5);
    c[0] = c[1] = c[2] = c[3] = 2;
    c[4] = 1;

    printf("a = %d\n", sum(a, sizeof(a)/sizeof(int)));
    printf("b = %d\n", sum(b, sizeof(b)/sizeof(b[0])));
    printf("c = %d\n", sum(c, 5));
    return 0;
}
...
Рейтинг: 0 / 0
12.11.2014, 18:24
    #38803983
kab18
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация динамического массива при создании
Dimitry Sibiryakov,
Я понял, для передачи статического массива в функцию достаточно поставить указатель в шапке функции.
...
Рейтинг: 0 / 0
12.11.2014, 19:34
    #38804057
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация динамического массива при создании

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
(apply '+ (list 5.56 5.46 5.34 5.36 5.58 5.33 5.79 5.67 
   5.54 5.27 5.45 5.61 5.53 5.4 5.47 5.49 5.65 5.71 5.39 5.64 5.48 
   5.11 5.46 5.45 5.46 5.5 5.7 5.73 5.32 5.2 5.45 5.41 5.41 5.49 
   5.19 5.54 5.71 4.97 5.21 5.23 5.39 5.31 5.48 5.68 5.6 5.4 5.85 
   5.35 5.73 5.33 5.37 5.57 5.39 5.51 5.63 5.58 5.44 5.72 5.59 
   5.37 5.46 5.33 5.11 5.5 5.48 5.42 5.47 5.49 5.38 5.24 5.59 
   5.11 5.42 5.68 5.27 5.29 5.48 5.61 5.25 5.55 5.61 5.54 5.48 
   5.21 5.22 5.05 5.47 5.57 5.26 5.6 5.31 5.43 5.49 5.38 5.37 5.79 
   5.55 5.69 5.81 5.51))

...
Рейтинг: 0 / 0
12.11.2014, 20:46
    #38804104
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация динамического массива при создании
kab18Возможно ли это сделать с динамическим массивом по типу обычного массива?[src c++]


Это можно делать только в С++ 0x11 с помощью инициализаторов.
Там кажется немного другой синтаксис (а может такой же).

Ну и чтобы что-то инициализировать, это что-то должно быть классом, просто голый массив, созданный динамически, инициализировать, кажется, нельзя.
Надо посмотреть в последний стандарт...
...
Рейтинг: 0 / 0
13.11.2014, 02:10
    #38804189
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инициализация динамического массива при создании
kab18Dimitry Sibiryakov,
Я понял, для передачи статического массива в функцию достаточно поставить указатель в шапке функции.

глупости. что за поставить указатель в шапке функции ? В какой шапке ещё, есть передаваемые параметры, есть прототип функции, изъясняйтесь используя терминологию. Поставить ? Передать.

Имя массива есть указательное выражение. Если вы передаёте массив в функцию, то вы передаёте местоположения начала этого массива, и тип данных элемента массива(это подразумевается). Оба способа передачи полностью идентичны, в любом случае вы передаёте адрес первого элемента.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Инициализация динамического массива при создании / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]