4_加深指针的理解
#include<stdio.h>
#include<stdlib.h>
/*
指针用于存放地址
*/
main()
{
int i = 123;
//int*定义一个int类型的指针变量p;
int* p ;
//把i的地址取出来,赋值给变量p;
p = &i;
//把p变量中存放的地址对应的值取出来
printf("*p=%d\n",*p);
*p = 234;
printf("i=%d\n",i);
system("pause");
}
5、指针的深入理解-18
1_如何用基本类型的指针
#include<stdio.h>
#include<stdlib.h>
/*
指针的深入理解
*/
main()
{
int i = 333;
int* p ;
p = &i;//把i变量的地址赋值给p指针变量
//实验1:
//修p的值会影响i的值吗?不会影响
printf("修改前:i=%d\n",i);
int j = 123;
p = &j;
printf("修改后:i=%d\n",i);
system("pause");
}
实验2:
//修i的值会影响p的值吗?不会影响
//p对应的是地址值,输出需要用,%x,%#x
printf("修改前:p=%#x\n",p);
i = 123;
printf("修改后:p=%#x\n",p);
//实验3
//修改i的值会影响*p的值吗? 会影响
printf("修改前:*p=%d\n",*p);
i = 123;
printf("修改后:*p=%d\n",*p);
//实验4
//修改*p的值会影响i的值吗?会
printf("修改前:i=%d\n",i);
*p = 99;
printf("修改后:i=%d\n",i);
2_指针和指针变量的关系
指针就是地址,地址就是指针
地址就是内存单元的编号
指针变量是存放地址的变量
指针和指针变量是两个不同的概念
但是要注意: 通常我们叙述时会把指针变量简称为指针,实际它们含义并不一样
指针里存的是100, 指针: 地址
指针里存的是地址, 指针: 指针变量
3_为什么使用指针
指针的重要性
直接访问硬件 (opengl 显卡绘图)
快速传递数据(指针表示地址)
返回一个以上的值(返回一个数组或者结构体的指针)
表示复杂的数据结构(结构体)
方便处理字符串
指针有助于理解面向对象
本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。