close

1.取址

int c=5

int d*=&c;

 

1.1陣列變數實際為指標

     int size;
    int c[size];
    int *d;
    int *f;
    d=c;
    f=&c[0];

    cout<<d<<endl;
        cout<<f<<endl;

都可將c[0]位址存到指標變數

1.2

     int size=5;
    int c[size];
    c[1]=100;
    int *d;
    int *f;
    d=c;
    f=&c[0];


        cout<<*(f+1)<<endl;    // print 100

 cout<<f[1]<<endl;  // print 100

 

2.參照:是變數的別名

int c=5

int &d=c

錯誤:不能更改參照

int &d=c

&d=f

 

3.函數指標

int cc( );
int main(int argc, char** argv) {
    int (*i)()=cc;
    i();

}
int cc(){
    cout<<"asd";
    return 0;
}

3.1函數傳參

int cc( );
int gg(int (*dd)());
int main(int argc, char** argv) {
    gg(cc);

}
int cc(){
    cout<<"asd";
    return 0;
}
int gg(int (*dd)()){
    dd();
    return 0;
}

4.指標的指標

 

int main(int argc, char** argv) {
int a=5;    //&a  位0x123
int *c=&a;    &c位0x126   存0x123
int **f=&c;    &f位0x129  存0x126
cout <<**f;
 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 學習程式 的頭像
    學習程式

    程式學習日記,如果我幫助了你請讓我知道

    學習程式 發表在 痞客邦 留言(0) 人氣()