#define _CRT_SECURE_NO_WARNINGS//强行去掉安全检查
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
int get_b()
{
int b = 10;
return b;
}
int get_b2()
{
int b = 20;
return b;
}
int get_b3(int *p)
{
*p = 77777777;
}
int get_b4(int *q1,int *q2,int *q3,int *q4)
{
*q1 = 11;
*q2 = 22;
*q3 = 33;
*q4 = 44;
return 1;
}
void main2()
{
int a = 100;
int *p = NULL;
//建立关系
//指针指向谁,就把谁的地址赋值给指针
p = &a;
//通过*操作内存
*p = 22;
printf("%d\n",*p);
//通过指针间接赋值
//1.两个变量
//2.建立关系
//3.通过*操作内存
int b = get_b();
printf("b==============%d\n", b);
get_b2(b);
printf("b2==============%d\n", b);
//如果想通过形参改变实参的值,
//必须传递他的地址,
get_b3(&b);
printf("b3==============%d\n", b);
//靠函数返回也可以实现改变一个值
//但是 函数返回只能返回一个值
//指针能修改多个值
//例如
int a1 = 1, a2 = 2, a3 = 3, a4 = 4;
get_b4(&a1,&a2,&a3,&a4);
printf("a1=%d,a2=%d,a3=%d,a4=%d\n", a1,a2,a3,a4);
system("pause");
}
//--------------------
int fun(int *p)
{
p = 0x55555;
printf("fun p=%p\n", p);
}
int fun2(int **pp)//改变一个指针的值,需要二级指针
{
*pp = 0x777777;
//printf("fun p=%p\n", pp);
}
void main()
{
//一个变量变量,应该定义一个什么类型的指针保存它的地址
//在原来类型基础上加一个*
//int a = 10;
//int *p = &a;
//int *pp = &p;
int *p = 0x56678;
printf("p1==----%p\n", p);
fun(p);
printf("p2==----%p\n", p);
fun2(&p);
printf("p3==----%p\n", p);
system("pause");
}
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
int get_b()
{
int b = 10;
return b;
}
int get_b2()
{
int b = 20;
return b;
}
int get_b3(int *p)
{
*p = 77777777;
}
int get_b4(int *q1,int *q2,int *q3,int *q4)
{
*q1 = 11;
*q2 = 22;
*q3 = 33;
*q4 = 44;
return 1;
}
void main2()
{
int a = 100;
int *p = NULL;
//建立关系
//指针指向谁,就把谁的地址赋值给指针
p = &a;
//通过*操作内存
*p = 22;
printf("%d\n",*p);
//通过指针间接赋值
//1.两个变量
//2.建立关系
//3.通过*操作内存
int b = get_b();
printf("b==============%d\n", b);
get_b2(b);
printf("b2==============%d\n", b);
//如果想通过形参改变实参的值,
//必须传递他的地址,
get_b3(&b);
printf("b3==============%d\n", b);
//靠函数返回也可以实现改变一个值
//但是 函数返回只能返回一个值
//指针能修改多个值
//例如
int a1 = 1, a2 = 2, a3 = 3, a4 = 4;
get_b4(&a1,&a2,&a3,&a4);
printf("a1=%d,a2=%d,a3=%d,a4=%d\n", a1,a2,a3,a4);
system("pause");
}
//--------------------
int fun(int *p)
{
p = 0x55555;
printf("fun p=%p\n", p);
}
int fun2(int **pp)//改变一个指针的值,需要二级指针
{
*pp = 0x777777;
//printf("fun p=%p\n", pp);
}
void main()
{
//一个变量变量,应该定义一个什么类型的指针保存它的地址
//在原来类型基础上加一个*
//int a = 10;
//int *p = &a;
//int *pp = &p;
int *p = 0x56678;
printf("p1==----%p\n", p);
fun(p);
printf("p2==----%p\n", p);
fun2(&p);
printf("p3==----%p\n", p);
system("pause");
}