關於結構體陣列與指標
阿新 • • 發佈:2021-01-21
#include <stdio.h> struct A { int num=5;// // } a[10]; struct B//全域性變數 { // // }; struct B b[10];//全域性變數 int main() { printf("%p\n",a);//可訪問 printf("%p\n",b);//可訪問 for(int i =0;i<10;i++) { a[i].num=i; } struct A* pt=a;//小甲魚:結構體陣列和普通陣列不一樣,必須取址,本機:不用取址 //int* pt=c;//普通陣列不用取址 printf("%d\n",pt[0].num);// . 運算子用於結構體,所以要用pt[0] printf("%d\n",pt->num);//->用於指標,所以用pt,可以用(pt+i)的方式指定訪問哪個元素 struct A aa=a[0]; //結構體之間可以直接賦值 return 0; } #include <stdio.h> struct A { int num=5;// // } a[10]; struct B//全域性變數 { // // }; struct B b[10];//全域性變數 int main() { printf("%p\n",a);//可訪問 printf("%p\n",b);//可訪問 for(int i =0;i<10;i++) { a[i].num=i; } struct A* pt=a;//小甲魚:結構體陣列和普通陣列不一樣,必須取址,本機:不用取址 //int* pt=c;//普通陣列不用取址 printf("%d\n",pt[0].num);// . 運算子用於結構體,所以要用pt[0] printf("%d\n",pt->num);//->用於指標,所以用pt,可以用(pt+i)的方式指定訪問哪個元素 struct A aa=a[0]; //結構體之間可以直接賦值 return 0; }
2021-01-21