Menda umumiy tuzilma e'lon qilingan va bu tuzilmalar qatori quyida keltirilgan:
struct A
{
int x,y,z;
char a,b,c;
};
struct A *str_arr[5];
Mening tushunishimga ko'ra, str_arr
xotira blokiga ko'rsatgich bo'lib, u 5 ta strukturaga ko'rsatgichlarni ketma-ket tartibda saqlaydi va shuning uchun bu ko'rsatkichlarga ko'rsatgich arifmetikasi yoki massiv indekslash orqali kirish mumkin:
struct A *str_a = str_arr[1]; // points to 2nd struct?
struct A *str_b = str_arr + 2*sizeof(struct A*); // points to 3rd struct?
Biroq, bu 5 ta struktura ketma-ket xotirada bo'lmasligi mumkinmi?
printf("%p\n", str_arr); // prints memory location of start of str_arr pointers?
printf("%p\n", str_arr[1]) // prints memory location of 2nd struct?
printf("%d\n" str_arr == &str_arr[0]) // prints 1?
Men ko'targan barcha fikrlarim bilan mening tushuncham to'g'ri ekanligini tushuntirishni istardim.
str_arr
-struct A
ga ko'rsatgich massivi (struct A
ga beshta ko'rsatkich). - person BLUEPIXY   schedule 28.05.2015int a[42]
dagi butun sonlar ketma-ket tartibda bo'lishi shart emas. Siz u erga nima qo'ygan bo'lsangiz, ular. - person juanchopanza   schedule 28.05.2015