Описание тега pointers

Тип данных, который "указывает" на другое значение, хранящееся в памяти. Переменная-указатель содержит адрес в памяти некоторого другого объекта (переменной, функции или другого объекта). Этот тег следует использовать для вопросов, связанных с использованием указателей, а не ссылок. Наиболее распространенными языками программирования, использующими указатели, являются C, C++, Go и языки ассемблера. Используйте тег определенного языка. Другие полезные теги - это метод, функция, структура и т. Д., Описывающие использование указателя.
0 ответов

Указатель уничтожается после завершения функции структуры

Я начинающий Голанг, так что извините, если мой вопрос глуп:| Я создал класс для доступа к базе данных (MongoDB) package network import ( "bytes" "gopkg.in/mgo.v2" ) type DatabaseConfig struct { Host string `yaml:mongo_db_host` Port string `yaml:mon…
10 фев '18 в 09:57
3 ответа

Перемещение указателя через массив - передача по ссылке или приращению?

Я понятия не имею, в чем разница между двумя следующими примерами: void function(int *p) { p++; } int main() { int values[] = {1,2,3}; int *p = values; function(p); cout << *p; return 0; } Этот возвращает "1". В то время как небольшая модифика…
05 авг '16 в 12:38
1 ответ

fortran: как передать нулевой указатель на подпрограмму, в которой он будет определен и возвращен

Я хочу иметь небольшую подпрограмму для создания дублированной копии указателя, который уже выделен / определен. У меня есть следующий тестовый код: implicit none real ,pointer :: x(:),y(:) real,target:: px px=2.02 allocate(x(10)) x=20.0 call copy_1…
26 июн '15 в 14:50
4 ответа

Структуры и указатели

У меня есть несколько вопросов о структурах и указателях Для этой структуры: typedef struct tNode_t { char *w; } tNode; Почему, если я хочу изменить / узнать значение * w, которое мне нужно использовать? t.w = "asdfsd" вместо t->w = "asdfasd"? И …
02 дек '12 в 04:49
1 ответ

Как отрицательный индекс в этом C-коде дает данные?

Вот код C: #include <stdio.h> void fun(char**); int main() { char*argv[] = {"ab","cd","ef","gh"}; fun(argv); return 0; } void fun(char**p) { char* t; t = (p+=sizeof(int))[-1]; //negative index printf("%s\n",t); } Я выполнил этот код и получил …
07 янв '18 в 17:43
5 ответов

C#: использование типов указателей в качестве полей?

В C# можно объявить структуру (или класс), которая имеет член типа указателя, например: unsafe struct Node { public Node* NextNode; } Это когда-нибудь безопасно? unsafe флаг..) использовать эту конструкцию? Я имею в виду долгосрочное хранение в куче…
09 ноя '09 в 21:09
3 ответа

Отладка с помощью указателей в C#

Когда я программирую на C/C++, я часто включаю значения указателя в трассировку. Это помогло соотнести объекты между сообщениями трассировки. В C# у меня нет доступного значения указателя, которое я могу отследить. Есть ли хорошие альтернативы для о…
10 мар '09 в 06:06
5 ответов

Как получить адрес объекта, выделенного новым оператором в C++?

Я новичок в C++, и я путаюсь с тем, как new оператор работает. Я выделил память в куче для объекта, как это: string *myString = new string ("This is a string"). Если я хочу адрес этого объекта, я использую оператор адреса, например: &myString и …
22 мар '14 в 13:20
1 ответ

Чтение глобального istream* с ошибкой getline

Я пытаюсь прочитать глобальный istream*, используя следующий код: /*Global Declaration*/ istream* fp; /* in main */ ifstream iFile; if(argc == 2) //open file code fp = &file; else fp = &cin; readFile; /*readFile*/ readFile(){ string line; wh…
03 окт '13 в 18:13
3 ответа

Адрес массива неправильно увеличивается в C

Я пытаюсь сделать рекурсивную функцию для печати содержимого массива. Основное выглядит так: #include <stdio.h> static int s_index; int main(void) { int even[] = {2, 4, 6, 8}; s_index = 0; print(even);} Функция печати выглядит так: void print(…
10 ноя '14 в 09:20
1 ответ

Невозможно объявить массив указателей на структуру внутри структуры в C

Я хочу иметь массив внутри структуры, которая будет хранить указатели одного и того же типа данных (т.е. struct map). Я посмотрел на Stackru и нашел это: struct map { int city; struct map **link = (struct map *)malloc(204800 * sizeof(struct map *));…
24 июл '16 в 11:04
2 ответа

Сбои программы, помещающие указатели в вектор

Этот вопрос задавался ранее, но я ничего не понял в ответах, даже после некоторого исследования. Моя программа падает, когда я отправляю указатель объекта на вектор. Этот код вызывает его, особенно когда я добавляю снаряд к вектору. void WorldManage…
30 окт '14 в 09:54
2 ответа

Получить общий указатель из разыменованного значения общего указателя

Представьте себе, что у вас есть вектор общих указателей typedef vector< shared_ptr< classA > > PointerVector; И класс B, который имеет в качестве члена вектор общих указателей, а также метод, который выталкивает обратно в этот вектор уж…
23 сен '17 в 18:15
1 ответ

Структуры и двойные указатели внутри других структур, многослойная путаница

Таким образом, у меня есть три структуры с функциями, чтобы согласиться с ними... struct Song{ std::string songTitle; std::string songLength; }; Song* createSong(string title, string length); void displaySong(Song* s); void destroySong(Song* s); str…
29 окт '18 в 19:08
1 ответ

Как использовать векторные и структурные члены в методе

Я новичок в C++ (а не старый в программировании...), и у меня есть проблемы с обработкой векторов и структур в классе. в основном у меня есть вектор и массив указателей для структурирования членов в классе, и я хочу поработать в моих методах, но я д…
30 июн '16 в 16:15
3 ответа

Ошибка сегментации в Ubuntu GCC

#include<stdio.h> int main() { char *ch; int n=10; gets(ch); puts(ch); printf("%d\n",n); } #include<stdio.h> int main() { char *ch; int n=10; gets(ch); printf("%d\n",n); puts(ch); } В первом случае ошибка сегментации возникает при print(…
25 июн '13 в 20:11
4 ответа

Странная проблема с указателями в C++

Я сталкиваюсь с ОЧЕНЬ расстраивающей проблемой указателя. Ранее я писал здесь: TOUGH: Работа с глубоко вложенными указателями в C++ Но этот пост стал слишком длинным и устаревшим, поэтому я решил сделать репост с более подробной информацией. Вот мой…
2 ответа

Отображение ошибки в коде указателя функции

Я написал код, который использует указатели на функции для сравнения строк. Но это показывает мне ошибки, и я не знаю, как их исправить. Вот код: #include<stdio.h> #include<string.h> void sports_no_bieber(char *); void science_sports(cha…
08 май '13 в 12:35
3 ответа

Получить адрес базового объекта из производного объекта

Я получаю очень запутанную ошибку в моей программе. Я думаю, что у меня может быть два разных объекта одного и того же класса, где я думал, что у меня один и тот же объект. Это сбивает с толку, потому что я имею дело с очень большой структурой, где …
18 июн '11 в 21:03
1 ответ

Значение int в этом выражении

Я не мог понять, что именно означает внутреннее "int" в следующем синтаксисе. int(*(*ptr (int))(void) Мое понимание этого выражения говорит о том, что ptr указатель на функцию ничего не принимает в качестве аргумента (из пустой части выражения) и во…
14 авг '16 в 06:21