#include <iostream.h> struct Alphabet (int i;char c;) sA[5]=(1,'a',2,'b',3,'c',4,'d',5,'e'),*psA=&sA[0];int main(){for (int k=0; k<4; k++){psA++;cout<<psA->c;}cin.get();}
Был создан массивтипа , состоящий из 5 элементов и выглядит он так:
Так как в структуре имеется 2 переменных, то при создании массива этого массива
1 элемент будет состоять из двух переменных - это 1a (то есть i = 1, c = 'a')
2 элемент будет состоять из двух переменных - это 2b (то есть i = 2, c = 'b')
3 элемент будет состоять из двух переменных - это 3c (то есть i = 3, c = 'c')
3c
4 элемент будет состоять из двух переменных - это 4d (то есть i = 4, c = 'd')
5 элемент будет состоять из двух переменных - это 5e (то есть i = 5, c = 'e')
__________________________________________________________
Дальше создается указатель типа
Ему присваивают начальный адрес массива, то есть адрес элемента
__________________________________________________________
Так как указатель psA имеет такой же тип, как и массив, то он может спокойно перемещаться по элементам этого массива и в строкеон перемещается на следующий элемент:
И на экран выводится значение переменнойэлемента ,
=
Указатель psA перемещается на следующий элемент:
И на экран выводится значение переменнойэлемента ,
=
Указатель psA перемещается на следующий элемент:
И на экран выводится значение переменнойэлемента ,
=
Указатель psA перемещается на следующий элемент:
И на экран выводится значение переменнойэлемента ,
=
В итоге на экран выведется:
: