Вопрос по С++

quant

yeah
Ответ: программо на С совет по делу..........

daoway сказав(ла):
А маленький конфигурационный файлик с настройками уже отменили ?
Дело вкуса, конечно...
serg_pet хоть сказал, обьяснил и показал пример...
 

quant

yeah
Ответ: программо на С совет по делу..........

если адрес p - указателя на int 0x0012ff1с то адрес указателя ++p 0x0012ff20
почему так? разве int занимает не 2 байта? ведь здесь разница в 4 байта
 
A

AkeL.php

Guest
Ответ: программо на С совет по делу..........

Вспомни, что такое указатель типа ++p :)
 

quant

yeah
Ответ: программо на С совет по делу..........

AkeL сказав(ла):
Вспомни, что такое указатель типа ++p :)
не понял что ты имееш в виду
для тех кто в танке
int i
int* pi = &i
int* pp = ++pi //если уж так угодно (pi + 1)
watсh window сказав(ла):
pi == 0x0012ff1с
pp == 0x0012ff20
дальше на счёт указателей
&pi == 0x0012ffe8
&pp == 0x0012fff0
это ещё почему? ведь размер указателя 4 байта!
ну хотя с указателем на указатель - указатели могут быть расположены не друг за другом
 

GrAndSE

Тёмный
Модератор
Ответ: программо на С совет по делу..........

Евгений_Анатольевич сказав(ла):
Вопрос:
как передать параметры программе при вызове
я думал, что просто указав некие аргументы в функцию main(),
но по видимому я ошибалсо.........
А какой компилятор. Я пользуясь gcc получил такой вот результат:
grandse@grandse:~$ ./a.out
Input file name:
new.c
Input somesin:
asdasdfas

Bye !!!

grandse@grandse:~$ vi new.c
А также:
grandse@grandse:~$ ./a.out newfile.dat
Input somesin:
asfsadfafasfasfsdf

Bye !!!
 
Останнє редагування:

NaBlA

Сын Амбера
Ответ: программо на С совет по делу..........

Именно в функции main() и нужно указывать.
Первый агрумент типа int - количество записей.
Второй аргумент - массив указателей, в который эти значения и будут писаться.
Точно не помню, как правильно, но что-то типа main(int n, char* arg[])
 

GrAndSE

Тёмный
Модератор
Ответ: программо на С совет по делу..........

quant сказав(ла):
не понял что ты имееш в виду
для тех кто в танке
int i
int* pi = &i
int* pp = ++pi //если уж так угодно (pi + 1)
А под чем это компилилось коли не секрет?
это ещё почему? ведь размер указателя 4 байта!
ну хотя с указателем на указатель - указатели могут быть расположены не друг за другом
Вполне логично, что компилятор мог расположить всё немного не так как нам бы хотелсоь и мечталось :)
 

quant

yeah
Ответ: программо на С совет по делу..........

GrAndSE сказав(ла):
А под чем это компилилось коли не секрет?
Microsoft Visual Studio 2005

неплохой дебаггер, кстате я тут глянул в хелпе
вот что я нашёл
INT_MAX 2147483647
INT_MIN –2147483646
_I64_MAX 9223372036854775807
_I64_MIN -9223372036854775806
вобщем тут многие переменные имеют двойной размер, но и номинал во второй степени, указатели тоже, так что те два стояли рядом
блин а я думал чо у меня квиксорт чудил - я ж ему размер элемента 2 задал
 

GrAndSE

Тёмный
Модератор
Ответ: программо на С совет по делу..........

quant сказав(ла):
Microsoft Visual Studio 2005

неплохой дебаггер, кстате я тут глянул в хелпе
вот что я нашёл
INT_MAX 2147483647
INT_MIN –2147483646
_I64_MAX 9223372036854775807
_I64_MIN -9223372036854775806
вобщем тут многие переменные имеют двойной размер, но и номинал во второй степени, указатели тоже, так что те два стояли рядом
блин а я думал чо у меня квиксорт чудил - я ж ему размер элемента 2 задал
Просто гениально.
Компилировать 32ух битным компилятором и при этом пытаться добиться от простых типов размера, который они имели когда-то очень давно во временя когда 386ые были чем-то таким... Размер будет в дюбом нвом компиляторе таким же. Так что не стоит думать, чте тут двойные размеры. Размеры как размеры. Если уже так нравится напрямую в память лезть, то пользуйся функциями определения размера элемента и живи без проблемм. Мало ли что там через десяток-полтора годков случится. может и 32 битные компиляторы будут уже таким архаизмом, что на них толкьо школьников и студентов учить будут. :) А вдруг программа старая нужна будет. ;) :)
 

L0mik

Студент!
Компилятор С

Посоветуйте компилятор для С(под Win32) чтобы был попроще.
 
Зверху