c指針

指針

多級指針(二級指針)

指針保存的是變量的地址,保存的這個變量還可以是一個指針變量
動態內存分配給二維數組

void main(){
    int a = 50;
    //p1上保存的a的地址
    int* p1 = &a;

    //p2上保存的p1的地址
    int** p2 = &p1;

    //int*** p3 = &p2;

    printf("p1:%#x,p2:%#x\n",p1,p2);
    **p2 = 90;

    printf("%d\n",a);

    getchar();
}
void fun1(char **p){

    printf("%s\n",*p);
}
void fun2(char *p){

    printf("%s\n",p);
}
 int main(int argc, const char * argv[]) {
     char *p="abad";
     char *p2 =&p;
     printf("%s\n",p);
     fun2(p);
     fun1(p2);
     int a =10;
     int* intp1 = &a;
     int ** intp2 =&intp1;
     printf("%d\n",*intp1);
     printf("%d\n",**intp2);

 return 0;
 }

函數指針

int msg(char* msg,char* title){
    MessageBox(0,msg,title,0);
    return 0;
}
void main(){
    //msg();
    printf("%#x\n",msg);
    printf("%#x\n",&msg);
    //函數指針
    //函數返回值類型,函數指針的名稱,函數的參數列表
    int(*fun_p)(char* msg, char* title) = msg;
    fun_p("消息內容","標題");

    getchar();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章