C语言-二级指针
使用int **pp_val = &p_val 来定义二级指针
/*
二级指针演示
*/
#include <stdio.h>
int main() {
    int val = 0; 
    int *p_val = &val; 
    int **pp_val = &p_val; //表示p_val的地址 
    printf("pp_val是%p\n", pp_val); 
    printf("p_val是%p\n", p_val); 
    **pp_val = 10; 
    printf("%d\n", val); 
}在main的输入函数里面,将输入参数的形式变换成char **argv, 使用*(argv + num) 代表字符串的地址
/*
二级指针演示
*/
#include <stdio.h>
int main(int argc, char **argv) {
    int val = 0; 
    for (val = 0;val < argc;val++) {
        printf("%s\n", *(argv + val));
    } 
}使用void *pp_val = &p_val; 定义方式不同上面的操作, int **p_val = &p_val;
使用(int **) 进行强制类型转换
/*
指针演示
*/
#include <stdio.h>
int main() {
    int val = 0; 
    int *p_val = &val; 
    void *pp_val = &p_val; 
    ** (int **)pp_val = 10; //将数据进行赋值操作
    printf("%d\n", val); 
}使用二级指针将一级指针的地址变为NULL
/*
二级指针演示
*/
#include <stdio.h>
void swap(int *p_val, int *p_val1) {
    *p_val ^= *p_val1; 
    *p_val1 ^= *p_val; 
    *p_val ^= *p_val1; 
    printf("val的大小是%d val1的大小是%d\n", *p_val, *p_val1); 
}
void set_null(int **pp_val) {
    *pp_val = NULL; //将数据的地址设置为0 
}
int main() {
    int val = 0, val1 = 0;
    int *p_val = &val; 
    int *p_val1 = &val1; 
    swap(p_val, p_val1);     
    set_null(&p_val); 
} 相关推荐
  hanjinixng00    2020-11-12  
   bearhoopIT之道    2020-11-11  
   penkgao    2020-06-25  
   fengjing81    2020-06-24  
   penkgao    2020-06-13  
   qscool    2020-06-12  
   fengjing81    2020-06-06  
   AaronPlay    2020-06-02  
   lynjay    2020-06-02  
   twater000    2020-05-29  
   徐建岗网络管理    2020-05-13  
   yunfeitian    2020-05-08  
   qingsongzdq    2020-05-07  
   jeonkc    2020-05-06  
   lynjay    2020-05-03  
   徐建岗网络管理    2020-05-03  
   qingsongzdq    2020-04-20  
   qscool    2020-04-18  
 