Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

вопрос по C++   Найти похожие ветки 

 
ghg ©   (2004-08-11 18:47) [0]

Нужно объявить массив и выделить под него память, делаю так:

int  *number_current_sorted;

number_current_sorted = (int *)calloc(VectCoordLen, sizeof(number_current_sorted[0]));

после выделения памяти в массиве тольок один элемент. Как сделать правильно?
ЗЫ: не надо отсылать к книжкам, нету возможности посмотреть и нужно сейчас ответ на вопрос иметь.


 
VMcL ©   (2004-08-11 18:53) [1]

number_current_sorted = (int *)calloc(VectCoordLen, sizeof(number_current_sorted[0] * КвоЭлементов));


 
Тень пастора Шлага   (2004-08-11 18:56) [2]

Какой же это С++? Это С в чистом виде
в С++
number_current_sorted = new int(кол-во эл-тов);


 
wicked ©   (2004-08-11 19:00) [3]


> number_current_sorted = (int *)calloc(VectCoordLen, sizeof(number_current_sorted[0]
> * КвоЭлементов));

как раз код в вопросе правильный...
вопрос в том, как уважаемый ghg © узнал, что в массиве один элемент?... VectCoordLen чему равен?...


> Какой же это С++? Это С в чистом виде

ЗЫ а это тенденция такая - многие на этом форуме считают, что си и си++ - один и тот же язык... а некоторые даже этого не знают о си, а только о visual c...


 
ghg ©   (2004-08-11 19:03) [4]

>Тень пастора Шлага   (11.08.04 18:56) [2]
Ну пусть будет C, для меня разницы нет

>VMcL ©   (11.08.04 18:53) [1]
странно
в MSDN написано что первый параметр это количество элементов, а второй это размер одного элемента а не всех в сумме. Разве не так?


 
Ega23 ©   (2004-08-11 19:04) [5]

а только о visual c...
++


 
VMcL ©   (2004-08-11 19:04) [6]

>>VMcL ©  (11.08.04 18:53) [1]

Oops. Не заметил, что calloc, а не malloc.


 
ghg ©   (2004-08-11 19:06) [7]

>wicked ©   (11.08.04 19:00) [3]
не нужно передергивать
да я не знаю разницы между с и с++ потому что ими не занимался
код сишный, компиляется в MSVC 6

VectCoordLen = 100;
а само содержимое массива я смотрю в Watch и там один элемент


 
wicked ©   (2004-08-11 19:11) [8]

> ghg [7]

> а само содержимое массива я смотрю в Watch и там один элемент

наивный... поверь мне, если указатель не NULL, то их там 100... а поскольку ты обьявил переменную как int*, то и получи, что хотел - откуда отладчику знать, сколько там памяти выделено под поинтер?...


> не нужно передергивать
> да я не знаю разницы между с и с++ потому что ими не занимался

и не надо принимать всё на свой счет, ок?... :)


 
ghg ©   (2004-08-11 19:14) [9]

>wicked ©   (11.08.04 19:11) [8]
хорошо
как нужно объявить массив и как выделить память чтобы видно его было содержимое в Watch?

да я тоже погорячился :)


 
ламер ©   (2004-08-11 19:19) [10]

> Тень пастора Шлага   (11.08.04 18:56) [2]
> Какой же это С++? Это С в чистом виде
> в С++
> number_current_sorted = new int(кол-во эл-тов);
таки скобочки квадратные должны быть.
... = new int[count];


 
wicked ©   (2004-08-11 19:20) [11]

1. обьявить статически - int number_current_sorted[100]
2. обьявить "динамически" - int * (number_current_sorted[100])
3. (самый реальный) плюнуть на обьявления и заставить Watch поверить, что там больше одного элемента... поскольку, я так понял, используется msvc, а там отладчик - та еще песня, то тут я не помощник, хотя извернуться можно... например, если используется где то выражение типа number_current_sorted[index], то такое выражение можно скормить Watch"у - пусть показывает текущее значение....
как вариант - заставить показывать дамп памяти под number_current_sorted....


 
Ega23 ©   (2004-08-11 19:22) [12]

Самый лучший отладчик - SoftIce (чтоб он сдох)!


 
Igorek ©   (2004-08-12 10:49) [13]


> ламер ©   (11.08.04 19:19) [10]
> таки скобочки квадратные должны быть.
> ... = new int[count];



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.034 c
4-1089551383
DeMoN_Astra
2004-07-11 17:09
2004.08.29
Диалап соединение


14-1091902628
Maxim
2004-08-07 22:17
2004.08.29
Дополнения


14-1091638905
panov
2004-08-04 21:01
2004.08.29
Как обойтись без Access violation?


8-1086496810
Артем К.
2004-06-06 08:40
2004.08.29
Как продублировать картинку по окружности?


3-1091688802
Alexey A
2004-08-05 10:53
2004.08.29
ADO, обновление данных таблицы (самой таблицы)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский