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

Указатели в качестве массивов, переменных и указетелей. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Visual Studio. Запрет компиляции при наличии варнингов http://www.cyberforum.ru/cpp-beginners/thread354251.html
Для пущей безопасности хотелось бы, чтобы компилер отказывался компилить код, если есть варнинги. Есть такое где-нибудь в опциях? Добавлено через 7 минут Нашел. Project -> Properties -> C/C++ -> Treat Warnings As Errors -> Yes.
C++ 1>8-1.obj : error LNK2019: ссылка на неразрешенный внешний символ "double __cdecl max5<double>(double * const,int)" (??$max5@N@@YANQANH@Z) в функции _main Попробовал разделить один файл на два. В заголовочный "proba.h" поместил шаблон и специализацию. В одном файле исходного кода оставил функцию main(), а во второй поместил определения шаблона и специализации. Заголовочный файл "proba.h": template <class T> T max5(T m, int x); template <> const char* max5(const char* m, int x); Первый файл: #include <iostream> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread354242.html
NetBeans IDE и компилятор MinWG(gcc) C++
Здравствуйте, я только начал писать на C++ в NetBeans IDE и использую компилятор MinGW. И как мне добавить каталог C:\MinGW\bin в PATH.
Выделение памяти в объектах C++
Здравствуйте! Когда начал использовать динамическое выделение памяти в объектах, возникла проблема. Но сначала о тестовой программе, которую я написал. Точнее о классе. Я создал класс Vector. Вот Vector.h:#pragma once class Vector { private: bool isVector; i4 cellLength; i4 cellsCount; i4 cellsLength; void *cells;
C++ Операции с комплексными числами и перегрузка операторов << и >> http://www.cyberforum.ru/cpp-beginners/thread354227.html
Здрасте! Пытаюсь решить задачу по написанию программы, которая производит действия с комплексными числами (если потребуется, объясню, что это за числа). В условии задачи просят произвести перегрузку операторов +, -, *, << и >>. Я в этом деле новичок, поэтому столкнулся с массой проблем. Вот мой программный код: Заголовочный файл с классом // файл attach.h class complex { private: double...
C++ Последовательность. Доброго времени суток. Код вроде правильный но не запускается ругается на две ошибки. Хотя скидывал программисту говорит что рабочий. #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> void main() { long int i,j=0,n; подробнее

Показать сообщение отдельно
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.09.2011, 10:59     Указатели в качестве массивов, переменных и указетелей.
Цитата Сообщение от dimcoder
1) Указатели содержут адрес переменной. Переменная изменяется при помощи *. Адрес переменой &. В общем пока всё довольно-таки просто и понятно.
указателем можно назвать адрес
указателем можно назвать переменную-указатель
переменная-указатель - переменная, которой можно присвоить адрес
адрес - это число

есть две операции: & и *
первая получает адрес переменной (к функции тоже можно применять)
вторая получает доступ к данным, переходя по адресу к области, где эти данные хранятся

Цитата Сообщение от dimcoder
C++
1
int *c;
здесь нет второй операции
звёздочка - это просто часть объявления

Цитата Сообщение от dimcoder
C++
1
*c = 2000;
здесь есть вторая операция
операция * применяется к переменной-указателю c
она берёт данные из этой переменной, которые являются адресом (числом)
переходит по этому адресу к области, имеющей этот адрес
так как это левый операнд операции присваивания, то она заменяет выражение *c на область памяти, в которую можно записать
записывает в эту область 2000

Добавлено через 8 минут
Цитата Сообщение от dimcoder
2) Имя массива - адрес первого элемента массива, то есть константный указатель со знаком * перед именем.
имя массива преобразуется в адрес (число)
по этому адресу можно перейти к области, в которой хранятся данные первого элемента массива

Цитата Сообщение от dimcoder
C++
1
int *b[5];
это объявление массива указателей
в этот массив можно сохранить пять адресов
это пять переменных-указателей, объединённых в один массив
 
Текущее время: 22:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru