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