В тази статия ще намерите подходящи примери, които ще ви помогнат да работите с указатели за достъп до данни в структурата.
Променливата на указателя може да бъде създадена не само за естествени типове като ( int
, float
и double
т.н.), но те могат да бъдат създадени и за потребителски типове като структура.
Ако не знаете какво са указатели, посетете указатели C ++.
Ето как можете да създадете указател за структури:
#include using namespace std; struct temp ( int i; float f; ); int main() ( temp *ptr; return 0; )
Тази програма създава указател ptr на структурата на типа temp.
Пример: Указатели за структура
#include using namespace std; struct Distance ( int feet; float inch; ); int main() ( Distance *ptr, d; ptr = &d; cout <> (*ptr).feet; cout <> (*ptr).inch; cout << "Displaying information." << endl; cout << "Distance = " << (*ptr).feet << " feet " << (*ptr).inch << " inches"; return 0; )
Изход
Въведете крака: 4 Въведете инч: 3.5 Показване на информация. Разстояние = 4 фута 3,5 инча
В тази програма е дефинирана указателна променлива ptr и нормална променлива d от тип структура Distance.
Адресът на променлива d се съхранява в променливата на указателя, т.е. ptr сочи към променлива d. След това, функцията член на променлива d се осъществява чрез използване на указател.
Забележка: Тъй като указателят ptr сочи към променлива d в тази програма (*ptr).inch
и d.inch
е точно същата клетка. По същия начин (*ptr).feet
и d.feet
е точно същата клетка.
Синтаксисът за достъп до функцията на член с помощта на указател е грозен и има алтернативна нотация -> което е по-често.
ptr-> фута е същото като (* ptr). фута ptr-> инча е същото като (* ptr) .inch