>> СПИКЕР: Давайте напишем программу, которая запрашивает у пользователя двух строк и
затем сообщает, является ли эти строки одинаковы или не одинаковы.
Я уже начал нас здесь называя Printf дважды и вызова
GetString дважды, хранения возвращение Значения в с и т, соответственно.
>> Теперь, мои инстинкты, чтобы сравнить эти два Строки будет использовать знакомые
Оператор равенства -
если с равно равна т.
Тогда я буду идти вперед и печать из "Вы ввели то же самое!
В противном случае, если это не так, я просто собирается ввести Е ("Вы ввели
разные вещи!
>> Довольно просто -
Я просто сравнивая сек против т, и если они равны,
распечатав столько же.
Давайте скомпилировать и запустить эту программу.
Сделать сравнить 0. / Сравнить 0, что-то сказать, привет,
что-то сказать, привет.
>> К сожалению, программа думает, что я набрали разные вещи, хотя я
четко набрал "привет" Точно так же оба раза.
Теперь, почему это может быть?
>> Ну, получается, что все это Время, строки, был немного более
сложнее, чем последовательность символов под капотом.
На самом деле, это строка является указателем или адрес, в частности, адрес
первого символа в том, что последовательность символов.
>> И поэтому, когда мы сравниваем сек против т с равным знака равенства, мы
на самом деле просят, это адрес равна равна этому адресу?
И, что не собирается быть в случае, если пользователь ввел в двух разных
Строки и мы назвали GetString дважды чтобы получить их, потому что память
что GetString использует для хранения первым строка может быть здесь, в памяти, но
памяти, что GetString использует для хранения вторая строка будет
быть здесь, в оперативной памяти.
И конечно, то, эти два куски памяти имеют разные адреса для
их самые первые символы.
>> Так с равными равна т?
Ну, нет.
Если с и т указывают на разные куски памяти, как они были бы на
называя GetString дважды, это не так, на самом деле, будет то же самое.
Так что, похоже, имеет место, что в сравнить две строки в интуитивный
способ, которым мы ожидаем, характер для характер, нам нужен другой метод
в целом.