指針
多級指針(二級指針)
指針保存的是變量的地址,保存的這個變量還可以是一個指針變量
動態內存分配給二維數組
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();
}