商城网站建设目的,怎么知道网站是什么开源做的,微信公众号文章怎么导入wordpress,北京建设网站哪家好目录
前言#xff1a;
1.内存地址
2.指针的定义
3.指针的使用
4.易错点
5.思维导图 前言#xff1a; 之前我们学过变量可以用来存储数据#xff0c;就像一个盒子里面可以放不同的球一样。 这是一个方便大家理解专业概念的比喻。
在计算机世界里面#xff0c;数据实…目录
前言
1.内存地址
2.指针的定义
3.指针的使用
4.易错点
5.思维导图 前言 之前我们学过变量可以用来存储数据就像一个盒子里面可以放不同的球一样。 这是一个方便大家理解专业概念的比喻。
在计算机世界里面数据实际上是以二进制的形式存储在内存中。 1.内存地址 1.1 我们在编程语言中使用数据是通过变量和常量的方式
比如代表整数的int代表浮点数的float代表字符的char等等。 这些数据类型已经是编程语言C语言为了方便人类程序员理解而封装出来的机制。
这些数据都存储在计算机的内存中并且是以二进制的形式存储。 这些数据存储在计算机中的具体位置就叫做内存地址。 1.2 我们可以记住这样一个对照图最下面是最接近计算机硬件的内存地址
上面一层是一个具体的数据
最上面一层是我们在编程中使用数据的方式。 事实上内存地址也是一种“虚拟”的机制具体的数据在硬件中的存储方式还有很多细节的处理
但是对于程序或者编程而言理解到这一层就已经够了。 1.3 我们知道了计算机中存储数据的原理是内存地址的机制以后接下来我们学习一下C语言中是如何“直接”操作内存地址的——指针。 大部分编程语言比如大家可能听过的Pyhon和Java都无法直接操作内存中的数据而是要通过变量或者常量的方式来间接操作内存中的数据。
细究起来指针本质上也是一个变量但是这个变量的特别之处在于他存储的不是整形浮点型和字符型这种可以被使用的数据类型它存储的是——内存地址。 1.4 所以我们可以简单的理解为在C语言中指针就是内存地址内存地址就是指针。 2.指针的定义 2.1 指针的定义和变量的定义基本一样只不过会多一个符号*。
下面我们来定义一个指针
int *p1;
1.这个指针会指向的数据类型——整型 int
2.指针的符号——星号 *
3.指针名—— p1 2.2 刚才我们只是定义了一个指针变量要完整的定义指针我们还需要把指针“指向”一个变量
定义一个指针p1并把这个指针指向整型变量number_1
int number_110;
int *p1;
p1number_1;
printf(%d\n,*p1);
1.定义一个整型变量 int number_1 10;
2.定义一个指向整型数据的指针 int *p1;
3.把指针指向整型变量的内存地址 number_1;
4.这个符号代表着number_1所在的内存地址
5.打印这个指针指向的数据 printf(%d\n, *p1); 2.3 我们再来回顾一下我们定义了一个变量number_1他所存的数据有一个自己的内存地址
然后我们定义了一个指针p1用这个指针指向了这个内存地址
最后我们访问了这个指针所指向的数据。 2.4 刚才已经简单的使用了指针我们用p1指针指向了一个定义好的整型变量并且通过指针(而非变量)访问了这个数据。
如果仅仅是这样使用指针肯定算不上“灵活”我们还可以把指针指向不同的变量来使用不同的数据。
所以我们又把指针称为指针变量因为一个指针存储的内存地址也是可以改变或者重新赋值的。 3.指针的使用 3.1 在上面学习中我们只是把指针指向了一个变量现在我们尝试把指针指向不同变量。
int number_110;
int number_255;
int *p1;
p1number_1;
printf(%d\n,*p1);
p1number_2;
printf(%d\n,*p2);1.定义两个变量number_1和number_2
int number_1 10;
int number_2 55;
2.定义一个整型的指针变量p1
int *p1;
3.把指针指向变量number_1然后打印它
p1 number_1;
printf(%d\n, *p1)
4.然后再把指针指向变量number_2然后打印它
p1 number_2;
printf(%d\n, *p1); 我们可以看到通过把指针指向不同的变量我们可以访问不同变量的数据,需要注意的是这个指针只能指向“相同数据类型”的变量 3.2 最后就是一些使用指针的好习惯比如初始化定义的时候我们需要把指针指向一个空的地址NULL当我们要使用它的时候再把它指向一个具体的变量。
int *p1 NULL; 4.易错点 5.思维导图 最后我想说的是 在撰写这篇文章时我参考了《白纸编程》这个app的观点和思想我要感谢他们对我的启发和帮助。