1. 程式人生 > 實用技巧 >關於結構體陣列與指標

關於結構體陣列與指標

#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