指针
多级指针(二级指针)
指针保存的是变量的地址,保存的这个变量还可以是一个指针变量
动态内存分配给二维数组
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();
}