Форум программистов, компьютерный форум CyberForum.ru

указатели и строки? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Минимальный элемент матрицы в каждой диагонали, параллельной главной http://www.cyberforum.ru/cpp-beginners/thread22453.html
используя какой цикл, можно искать минимальный элемент матрицы в каждой диагонали, параллельной главной диагонали матрицы?
C++ Замена малых латинских букв символом "$" Как написать функцию, которая для заданного в качестве параметра массива типа char заменяет все малые латинские буквы символом «$» и возвращает количество выполненных замен? http://www.cyberforum.ru/cpp-beginners/thread22446.html
Передача многомерного массива переменного размера в функцию C++
Как в с передается в функцию многомерный массив, чья размерность определеяется "по ходу дела". Вариант в фортране: ... call f(m,n,x) .... subroutine f(m,n,x) integer m,n real x(m,n) x(i,j) = ...
C++ Возвращение функцией wchar_t значения.
Такой вопросик. Нижеследующий код - это концепция. в качестве аргумента функции должна быть переменная типа wchar_t, функция должна произвести некоторые манипуляции со значеним агрумента и отдать получившиюся строку тоже в типе wchar_t , "отдать" можно либо через return или вернуть вторым аргументом функции (как правильно?) whar_t myfunc(*str1) { str1=L"string was changed";
C++ Транспортабельность http://www.cyberforum.ru/cpp-beginners/thread22398.html
Как сделать программы на Borlandc++ рабочими в независимости от того установлен ли борланд на компе или нет, как собрать все нужные файлы до одного экзешника.
C++ Как вернуть сразу 2 значения из функции? Есть функция, которая генерирует 2 параметра. Как сделать так, чтобы функция их вернула? Оба сразу? подробнее

Показать сообщение отдельно
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
05.02.2009, 00:17     указатели и строки?
Цитата Сообщение от maxNTF Посмотреть сообщение
Люди помогите понять, ни как не дается это страшное слово указатель.
Так в общем немного ясно, не понятно вот что:
Считается что эти два выражения идентичны, ТАК?

Код
char * st1="string1";
char st2[8]="string2";
При этом я свободно могу вытянуть любое значения (изменить и т.д.) из st2, к примеру так
st2[6]='3';

А вот как такое же проделать с седьмым символом st1?
Код
char * st1 = "string1";
string1 и нуль-символ записываются в read-only область, потом адрес символа s из этой read-only области присваивается st1 (адрес - это число)

Код
char st2[8] = "string2";
создаётся массив элементов, каждый размера char, в массив копируются символы string2 и нуль-символ

запомнил, что если видишь что-то вроде "string1" без имени, это значит что оно записано в неменяемую область памяти ? и будет существовать до конца программы в таком виде

помнишь я говорил про нуль-символ который записывается после string1 ? последнее значение выводится правильно благодаря ему

Код
 
#include <stdio.h>

/* читает строковую константу */
main()
{
    char *s = "some_ok";
    
    printf("%c%c\n", s[5], s[6]);
    printf("%c%c\n", *(s+5), *(s+6));
    printf("%s\n", s+5);
    return 0;
}
 
Текущее время: 06:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru