|
0 / 0 / 1
Регистрация: 18.09.2013
Сообщений: 47
|
|||
Разные размеры параметра при передаче в функцию20.01.2015, 13:24. Показов 1266. Ответов 7
Метки нет (Все метки)
собственно столкнулся с необычной проблемой
есть программа состоящая из двух частей, основной и дополнительной (в смысле исходный код) main.cpp
35 и 8 при этом, если вывести на экран - то видно все 12-ть символов. если в первом случае понятно - это размер всего массива, то во втором непонятно почему 8-мь??? непонимаю где ошибка?
0
|
|||
| 20.01.2015, 13:24 | |
|
Ответы с готовыми решениями:
7
Ошибка Access violation при передаче указателя в функцию Ошибка при передаче параметра в функцию при передаче параметра |
|
7 / 7 / 0
Регистрация: 14.01.2015
Сообщений: 47
|
|
| 20.01.2015, 14:01 | |
|
sizeof(*param) = размер указателя на строку а не размер строки
0
|
|
|
0 / 0 / 1
Регистрация: 18.09.2013
Сообщений: 47
|
|
| 20.01.2015, 22:11 [ТС] | |
|
я передаю указатель, но смотрю размер именно массива
да и к тому-же размер указателя по-моему всегда =1 ибо он тип int сегодня пробовал по всякому, в том числе передавать весь массив ситуации одна и таже, до функции массив из 12-ти букв равен 12, в самой функции он становится равным 8, но на печать выводится весь полностью сейчас я в функцию просто передаю третий параметр - размер, но сама ошибка мне не понятна...
0
|
|
|
7 / 7 / 0
Регистрация: 14.01.2015
Сообщений: 47
|
|
| 21.01.2015, 09:42 | |
|
нет, у инта другой размер смотря на какой ты платформе, юзай sizeof(type) чтобы определить.а чтобы измерить длину строки используй strlen() на этом указателе
1
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
||
| 21.01.2015, 19:50 | ||
|
sizeof() работает на этапе компиляции и исходит из типа. В первом случае тип - это char[35], т.е. массив. Во втором случае тип - это char*, т.е. указатель.
0
|
||
|
0 / 0 / 1
Регистрация: 18.09.2013
Сообщений: 47
|
|||||||
| 22.01.2015, 02:55 [ТС] | |||||||
|
спасибо за
я же использую
если бы я так писал:
0
|
|||||||
|
7 / 7 / 0
Регистрация: 14.01.2015
Сообщений: 47
|
|
| 22.01.2015, 11:29 | |
|
это я образно написал, звездочку не надо добавлять, просто sizeof(int) например или sizeof(char)
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
||
| 22.01.2015, 18:17 | ||
Сообщение было отмечено Alez как решение
Решениеsizeof разрешен для двух видов записей: sizeof(<type>) и sizeof(<variable>) Вот в твоем случае используется как раз вторая. Иными словами, возвращается размер типа переменной test, т.е. размер указателя. А вот запись *test означает не указатель, а разыменование. Соответственно sizeof(*test) - дает размер типа значения, которое хранится по указателю. И это в данном случае эквивалентно sizeof(char).
1
|
||
| 22.01.2015, 18:17 | |
|
Помогаю со студенческими работами здесь
8
Ideone - исключение при передаче параметра
Ошибка при передаче перечисления как параметра Ошибка при передаче параметра хранимой процедуре При передаче параметра в URI получаются иероглифы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|