### 二級指針
用來記錄普通類型存儲區地址的指針叫一級指針。
二級指針用來記錄一級指針的地址。
聲明二級指針的時候需要使用兩個*。
#include <stdio.h>
int main(){
int num = 0;
int *p_num = #
int **pp_num = &p_num;
**pp_num = 10;
printf("num = %d\n", num);
*pp_num = NULL;
printf("p_num = %p\n", p_num);
return 0;
}
二級指針前使用\*\*可以表示捆綁的普通類型的存儲區。
二級指針前使用*可以表示捆綁的一級指針存儲區。
二級指針可以用來代表指針數組,但是不能用來代表二維數組。
#include <stdio.h>
int main(int argc, char **argv){
int num = 0;
for (num = 0;num <= argc - 1;num++){
printf("%s\n", *(argv + num));
}
return 0;
}
無類型指針有可能實際代表的是一個二級指針。
被調用函數可以通過二級指針形式參數,向調用函數傳遞一個地址數據。
#include <stdio.h>
void set_null(int **pp_num){
*pp_num = NULL;
}
int main(){
int num = 0;
int *p_num = #
set_null(&p_num);
printf("p_num = %p\n", p_num);
return 0;
}