|
|
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
есть код: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 19:35 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
если не секрет, что означает long long? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 23:45 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
че-то не поймуесть код: Код: plaintext Вообще-то, доступ к нулевому элементу массива через **имя, будет (*fhcb)[0] или *(*fhcb). И вообще, код очень криво выглядит. Указатель на указатель используется обычно только при работе с возвращаеметром параметром внутри функции. Ты уверен что там **? man_555если не секрет, что означает long long? long long - целое вдвое длиннее чем long. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 00:06 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
White Owl че-то не поймуесть код: Код: plaintext Вообще-то, доступ к нулевому элементу массива через **имя, будет (*fhcb)[0] или *(*fhcb). White Owl ага и в этом случае сразу схватишь 11 сигнал и core dump И вообще, код очень криво выглядит. Указатель на указатель используется обычно только при работе с возвращаеметром параметром внутри функции. Ты уверен что там **? ну по всей видимости там все-таки ** причем const, а вот зачем const снимать и ковряться в матрице грязными руками - большой вопрос White Owl man_555если не секрет, что означает long long? long long - целое вдвое длиннее чем long. ну не факт, поскольку стандарт не дает никаких гарантий кроме как sizeof(char) = 1 и sizeof(char)<=sizeof(short)<=sizeof(int)<=sizeof(long)<=sizeof(long long) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 09:55 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
White Owllong long - целое вдвое длиннее чем long. Это, наверное, там где инт 2 байта. (long 4, long long 8) gcc 3 - long - 6, long long - 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 09:58 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
Akh White Owllong long - целое вдвое длиннее чем long. Это, наверное, там где инт 2 байта. (long 4, long long 8) gcc 3 - long - 6, long long - 8. Не всегда. в некоторых системах long это int32, а long long это int64 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 10:03 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
т.е. long там тоже, что просто int ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 10:03 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
Zmeishe Akh White Owllong long - целое вдвое длиннее чем long. Это, наверное, там где инт 2 байта. (long 4, long long 8) gcc 3 - long - 6, long long - 8. Не всегда. в некоторых системах long это int32, а long long это int64 Ну и? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 10:04 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
Zmeisheт.е. long там тоже, что просто int Вполне возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 10:07 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
В MSVC 2005 sizeof(long) == 4, а sizeof(long long) == 8, причём sizeof(long) == sizeof(int) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 10:14 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
В C++Builder на Win32 и в Qt на SuSe 10.1 также. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 10:24 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
Zmeisheи в Qt на SuSe 10.1 также. Не в qt, а в gcc на сусе. А какая там версия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 10:31 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
А вот у больших дядек SUN, AIX, HP int-4, long-8, long long 8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 10:38 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
AkhНе в qt, а в gcc на сусе. А какая там версия? linux-15:/ # gcc -v Using built-in specs. Target: i586-suse-linux Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,fortran,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.1.0 --enable-ssp --disable-libssp --enable-java-awt=gtk --enable-gtk-cairo --disable-libjava-multilib --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit --enable-libstdcxx-allocator=new --without-system-libunwind --with-cpu=generic --host=i586-suse-linux Thread model: posix gcc version 4.1.0 (SUSE Linux) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 10:47 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
Zmeishegcc version 4.1.0 (SUSE Linux) Оба на! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 10:55 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
White Owl че-то не поймуесть код: Код: plaintext Вообще-то, доступ к нулевому элементу массива через **имя, будет (*fhcb)[0] или *(*fhcb). И вообще, код очень криво выглядит. Указатель на указатель используется обычно только при работе с возвращаеметром параметром внутри функции. Ты уверен что там **? man_555если не секрет, что означает long long? long long - целое вдвое длиннее чем long. При (*fhcb)[0] или *(*fhcb) вылетает Segmentation fault (core dumped). Там действительно ** потому что это функция frequencyHistoryCycleBuff.get() вообще не моя и тут ниче не поделаешь. Так они возвращают матрицу. Константность тут действительно снимать не надо, уберу. Просто так увлекся решением текущей проблемы, что забил временно на константность... Так как все таки обратится к элементу [i,j] имея **fhcb? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 11:01 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
че-то не пойму White Owl че-то не поймуесть код: Код: plaintext Вообще-то, доступ к нулевому элементу массива через **имя, будет (*fhcb)[0] или *(*fhcb). И вообще, код очень криво выглядит. Указатель на указатель используется обычно только при работе с возвращаеметром параметром внутри функции. Ты уверен что там **? man_555если не секрет, что означает long long? long long - целое вдвое длиннее чем long. При (*fhcb)[0] или *(*fhcb) вылетает Segmentation fault (core dumped). Там действительно ** потому что это функция frequencyHistoryCycleBuff.get() вообще не моя и тут ниче не поделаешь. Так они возвращают матрицу. Константность тут действительно снимать не надо, уберу. Просто так увлекся решением текущей проблемы, что забил временно на константность... Так как все таки обратится к элементу [i,j] имея **fhcb? Хотя вроде как сказал White Owl должно работать... (*fhcb+i)[j]... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 11:07 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
char - 1 -128..+127 unsigned char (где-то обзывется байтом) 1, 0..255 short int - 2, -32___..+32___ unsigned short int он же word 2, 0..65536 word вообще говоря то же, что и unsiged short, но часто используют unsigned int. (см. unsigned int) int или 2 или 4 байта сооств - то или short int или long int unsigned int см. int long int - 4 байта, -2млрд..+2млрд unsigned long int 4, 0..4млрд (еще называют 4Гб) dword - то же, что unsigned long правда иногда используют как unsigned long long long long int - длинный long int, итого 8, от -дох/2 до +дох/2 unsigned long long int - то же, но без знака. __int64 - то же что и long long условно: short int == short long int == long int == либо short либо long, чаще всего long но на самом деле это все фуйня, ибо все регисты 4 байта. поэтому работа с char и short только для уменьшения памяти, занимаемой на жестком диске. аффтопитезь: объект либо именован, либо не существует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 11:18 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
int **a; получить досуп можно так: *(*(a + n) + n), либо просто a[n][n] , где n - индекс вроде, должно работать сообщите, если неправ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 11:23 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
man_555int **a; получить досуп можно так: *(*(a + n) + n), либо просто a[n][n] , где n - индекс вроде, должно работать сообщите, если неправ не работает. Но тут закрадывается мысль, что под **a в моем случае не просто двумерный массив, а какая-то хитроструктурированная хня... Так функция возвращающая этот самый указатель не моя, то я не могу знать в какой форме она возвращает данные... Ладно, всем спасибо, буду разбираться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 11:30 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
man_555int **a; получить досуп можно так: *(*(a + n) + n), либо просто a[n][n] , где n - индекс вроде, должно работать сообщите, если неправ Я так делаю Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Да, и самое главное. под int **a незабудь выделить память - для начала. У меня подозрение, что не работает из-за того, что указатель указывает на ХЗ. ХЗ оно и в африке ХЗ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 11:35 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
че-то не пойму man_555int **a; получить досуп можно так: *(*(a + n) + n), либо просто a[n][n] , где n - индекс вроде, должно работать сообщите, если неправ не работает. Но тут закрадывается мысль, что под **a в моем случае не просто двумерный массив, а какая-то хитроструктурированная хня... Так функция возвращающая этот самый указатель не моя, то я не могу знать в какой форме она возвращает данные... Ладно, всем спасибо, буду разбираться... У тебя в общем случае, список одномерных массивов. Возврощаемое значение не нуль, значит этот список существует. Ты знаешь количество элементов в этом списке (или количество строк в массиве)? Если да, то проверь все списки, на какую память они указывают. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 12:02 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
Akh че-то не пойму man_555int **a; получить досуп можно так: *(*(a + n) + n), либо просто a[n][n] , где n - индекс вроде, должно работать сообщите, если неправ не работает. Но тут закрадывается мысль, что под **a в моем случае не просто двумерный массив, а какая-то хитроструктурированная хня... Так функция возвращающая этот самый указатель не моя, то я не могу знать в какой форме она возвращает данные... Ладно, всем спасибо, буду разбираться... У тебя в общем случае, список одномерных массивов. Возврощаемое значение не нуль, значит этот список существует. Ты знаешь количество элементов в этом списке (или количество строк в массиве)? Если да, то проверь все списки, на какую память они указывают. Код: plaintext 1. 2. Так и есть. Написал разработчикам - грят мы храним 2-х мерные массивы как одномерные с хитрой структурой и просто так работать с ними не получиться. Короче надо приводить к определенным типам и тогда все будет... Короче это они через жопу все сделали. Спасибо еще раз... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 12:07 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
А чему равен sizeof(fhcb)? Минимальное значение будет равно sizeof(long long), тогда там либо ничего нет, либо вернулся нолик..смотря как трактовать :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 12:18 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
че-то не пойму Akh че-то не пойму man_555int **a; получить досуп можно так: *(*(a + n) + n), либо просто a[n][n] , где n - индекс вроде, должно работать сообщите, если неправ не работает. Но тут закрадывается мысль, что под **a в моем случае не просто двумерный массив, а какая-то хитроструктурированная хня... Так функция возвращающая этот самый указатель не моя, то я не могу знать в какой форме она возвращает данные... Ладно, всем спасибо, буду разбираться... У тебя в общем случае, список одномерных массивов. Возврощаемое значение не нуль, значит этот список существует. Ты знаешь количество элементов в этом списке (или количество строк в массиве)? Если да, то проверь все списки, на какую память они указывают. Код: plaintext 1. 2. Так и есть. Написал разработчикам - грят мы храним 2-х мерные массивы как одномерные с хитрой структурой и просто так работать с ними не получиться. Короче надо приводить к определенным типам и тогда все будет... Короче это они через жопу все сделали. Спасибо еще раз... бывает и такое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 12:19 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
man_555А чему равен sizeof(fhcb)? Минимальное значение будет равно sizeof(long long), тогда там либо ничего нет, либо вернулся нолик..смотря как трактовать :-) Будет равен размеру указателя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 12:58 |
|
||
|
указатель на указатель
|
|||
|---|---|---|---|
|
#18+
Akh man_555А чему равен sizeof(fhcb)? Минимальное значение будет равно sizeof(long long), тогда там либо ничего нет, либо вернулся нолик..смотря как трактовать :-) Будет равен размеру указателя. действительно.. соврал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 15:17 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2029592]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 490ms |

| 0 / 0 |
