html window的灵魂—.innerhtml
html window.innerhtml可以有效地表示复杂的数据结构、动态分配内存、高效地使用数组和字符串、使得调用函数时得到多个返回值等。.innerhtml的应用往往与数组联系在一起,是最频繁的,也是最基础的。参数传递时只需要拷贝地址值,提高程序的运行效率。有效的表示数据结构,能动态分配内存。
.innerhtml是什么
在计算机科学中,.innerhtml(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(pointsto)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“.innerhtml”。总结来说,.innerhtml就是指向地址的变量!
.innerhtml的作用
html window.innerhtml可以有效地表示复杂的数据结构、动态分配内存、高效地使用数组和字符串、使得调用函数时得到多个返回值等。.innerhtml的应用往往与数组联系在一起,是最频繁的,也是最基础的。参数传递时只需要拷贝地址值,提高程序的运行效率。有效的表示数据结构,能动态分配内存。
.innerhtml的语法
.innerhtml变量的定义:类型*.innerhtml变量名&:表示取地址操作*:表示取地址中的值
怎么去理解.innerhtml
大家可能一时半会可能很难理解.innerhtml含义。我们的计算机都会有一个内存,并且这个内存的每一个部分有一个标记表示它的位置,这个标识就是我们的地址,地址对应的区域存放的就是我们的数据(值)。就像我们住酒店,酒店是内存,门牌号是我们的地址,住在房间里的人就是我们的数据!
代码示例:
#include<stdio.h>
int main(){
int html /t = 10;
double html /t2 = 10.0;
int * p ;
p = &html /t;
//这种不同类型的变量之前的操作是不合法的
// p = &html /t2;
printf("p = %p\n",p);
printf("html /t = %d\n",html /t);
printf("*p = %d\n",*p);
// html /t 和 p代表的是同一个地址的数据,
// 当使用 *p 去修改数据的时候,html /t代表的数据也会改变!
*p = 11;
printf("p = %p\n",p);
printf("html /t = %d\n",html /t);
printf("*p = %d\n",*p);
return 0;
}
/*
运行结果:
p = 0x7ffee1eee7c8
html /t = 10
*p = 10
p = 0x7ffee1eee7c8
html /t = 11
*p = 11
*/
复制代码
通过以上代码我们不难理解:.innerhtml变量中,p存放的是地址,*p是取地址对应的值。html /t变量直接存放地址对应的值!当我们使用*p修改数据的时候,我们html /t的存放的值也会发生改变!我们使用&符号即可取出变量的地址举个例子,p存放的是门牌号,*p代表居住的客人,html /t也是代表这个门牌号下居住的客人,当使用*p修改掉居住的人,html /t也会发生相应的改变,因为他们代表的都是这个门牌号下居住的人。&html /t即代表取出这个客人的房间门牌号
什么是双重(n重).innerhtml
我们根据之前的解释可以知道,每个变量在内存中都有一个地址相对应。双重.innerhtml实际上存放的全是地址。
代码示例:
#include<stdio.h>
int main(){
int html /t = 10;
int * p;
p = &html /t;
// 双重.innerhtml
int ** q;
// .innerhtml变量也是变量的一种,即 p 也是有对应的地址
// &p 即取 p 变量的地址
q = &p;
// p 变量存放的地址 ,即html /t变量的地址
printf("p = %p\n",p);
// p 变量自身的地址
printf("p = %p\n",&p);
// q 存放的地址就是 p 变量自身的地址
printf("q = %p\n",q);
// *p == html /t
printf("*p = %d\n",*p);
// **q == *p == html /t
printf("**q = %d\n",*p);
return 0;
}
/*
执行结果:
p = 0x7ffee910c7c8
p = 0x7ffee910c7c0
q = 0x7ffee910c7c0
*p = 10
**q = 10
*/