当前位置: 首页 > news >正文

网站备案号如何查询广西医院响应式网站建设方案

网站备案号如何查询,广西医院响应式网站建设方案,网站建设页头的设计,有什么有什么好的学做饮品的网站数组在内存中是连续存放的,其名称代表了数组首元素的首地址,该地址是常量, 也就是一个指向数组首元素的指针。因此,指针和数组有着密切的关系: 可以使用指针来访问和操作数组中的元素。通过指针的算术运算,…

数组在内存中是连续存放的,其名称代表了数组首元素的首地址,该地址是常量, 也就是一个指向数组首元素的指针。因此,指针和数组有着密切的关系:

  • 可以使用指针来访问和操作数组中的元素。通过指针的算术运算,可以移动指针的指向,使其指向数组中的其他元素。这种指针的运算在数组操作中非常常见,可以灵活地遍历和处理数组元素。

  • 数组的下标运算符[]实际上是以指针作为其操作数的。这意味着数组元素可以通过指针来引用,而指针也可以用下标形式来表示。这种等价性可以用指针来实现原本用数组实现的操作,从而提供了更多的灵活性和可能性。

  • 当数组作为函数形参时,它会退化为指向数组首元素的指针。

1 指针访问数组

指针访问数组元素是一种常见且高效的操作方式。数组在内存中是连续存储的,而数组名在大多数上下文中会退化为指向数组首元素的指针。因此,可以通过这个指针加上偏移量来访问数组中的任意元素。

指针访问数组元素的定义通常涉及以下步骤:

  • 定义数组:需要定义一个数组并初始化它。

int array[] = {1, 2, 3, 4, 5};
  • 获取数组首元素的地址:数组名 array 在这个上下文中会退化为指向数组首元素(即 array[0])的指针

// ptr 现在指向 array[0]
int *ptr = array; 
  • 使用指针访问数组元素:通过给指针加上适当的偏移量,可以访问数组中的其他元素。偏移量通常是元素大小的整数倍。

int element = *(ptr + index); // 访问数组中的第 index+1 个元素
  • 遍历数组:可以通过递增指针来遍历整个数组。

for (int i = 0; i < sizeof(array) / sizeof(array[0]); i++) 
{  printf("%d ", *(ptr + i)); // 打印数组中的每个元素  
}

扩展,

指针访问数组元素的方法包括:

  • 指针名加数组元素下标,语法格式:

// 数组定义
数据类型 数组名 = {初始值};// 定义指针并指向数组首地址
数据类型 *指针变量 = 数组名;// 指针加数组下标,访问具体数组元素
指针变量[数组下标];

代码示例:

#include <stdio.h>  int main()
{  // 定义数组int array[] = {1, 2, 3, 4, 5};  // 定义指针并指向数组首地址int *ptr = array; // 通过数组下标访问元素,注意,不要下标不要超过了(数组长度 - 1)// 访问数组中第2个元素,相当于array[1]printf("%d\n", ptr[1]); // 访问数组中第4个元素,相当于array[3]printf("%d\n", ptr[3]);return 0;  
}
  • 指针变量运算,语法格式:

// 数组定义
数据类型 数组名 = {初始值};// 定义指针并指向数组首地址
数据类型 *指针变量 = 数组名;// 指针加数组下标
*(指针变量 + 数组下标);

代码示例:

#include <stdio.h>  int main()
{  // 定义数组int array[] = {1, 2, 3, 4, 5};  // 定义指针并指向数组首地址int *ptr = array; // 通过数组下标访问元素,注意,不要下标不要超过了(数组长度 - 1)// 访问数组中第2个元素,相当于array[1]printf("%d\n", *(ptr + 1));// 访问数组中第4个元素,相当于array[3]printf("%d\n", *(ptr + 3));return 0;  
}

2 指针修改数组

既然指针可以访问数组元素,那么,可以通过指针对数组元素进行修改,包括:

  • 指针名加数组元素下标,语法格式:

// 数组定义
数据类型 数组名 = {初始值};// 定义指针并指向数组首地址
数据类型 *指针变量 = 数组名;// 指针加数组下标,修改具体数组元素
指针变量[数组下标] = 常量或者变量;

代码示例:

#include <stdio.h>  int main()
{  // 定义数组int array[] = {1, 2, 3, 4, 5};  // 定义指针并指向数组首地址int *ptr = array; // 通过数组下标访问元素,注意,不要下标不要超过了(数组长度 - 1)// 访问数组中第2个元素,相当于array[1]printf("数组第2个元素修改前的值是%d\n", ptr[1]); // 修改数组中第2个元素ptr[1] = 10;printf("数组第2个元素修改后的值是%d\n", ptr[1]);return 0;  
}
  • 指针变量运算,语法格式:

// 数组定义
数据类型 数组名 = {初始值};// 定义指针并指向数组首地址
数据类型 *指针变量 = 数组名;// 指针加数组下标,修改具体数组元素
*(指针变量 + 数组下标) = 常量或者变量;

代码示例:

#include <stdio.h>  int main()
{  // 定义数组int array[] = {1, 2, 3, 4, 5};  // 定义指针并指向数组首地址int *ptr = array; // 通过数组下标访问元素,注意,不要下标不要超过了(数组长度 - 1)// 访问数组中第2个元素,相当于array[1]printf("数组第2个元素修改前的值是%d\n", *(ptr + 1)); // 修改数组中第2个元素*(ptr + 1) = 10;printf("数组第2个元素修改后的值是%d\n", *(ptr + 1));return 0;  
}

3 指针运算

  • 指针加整数(假设为n),含义是从当前地址向下移动数据类型长度*n(相当于sizeof(数据类型) * n)的地方,运算的结果指针指向新的地址。注意,指针移动至非法的位置。

#include <stdio.h>  int main()
{  // 定义数组int array[] = {1, 2, 3, 4, 5};  // 定义指针并指向数组首地址int *ptr = array; // 打印指针当前指向地址的内容printf("指针当前指向地址的内容是%d\n", *ptr); // 移动指针// 相当于访问数组中第3个元素ptr += 2;printf("移动两个位置后的指针当前指向地址的内容是%d\n", *ptr); return 0;  
}
  • 相同类型指针可以比较大小

#include <stdio.h>  int main()
{  // 定义数组int array[] = {1, 2, 3, 4, 5};  int *ptr1 = &array[1]; int *ptr2 = &array[3];if (ptr1 > ptr2){printf("ptr1指向地址高于ptr2指向地址\n"); }else if (ptr1 < ptr2){printf("ptr1指向地址低于ptr2指向地址\n"); }else {printf("ptr1和ptr2指向相同空间\n");}return 0;  
}
  • 相同类型的指针可以做减法,可以计算出它们之间相隔的元素个数。

#include <stdio.h>  int main()
{  // 定义数组int array[] = {1, 2, 3, 4, 5};  int *ptr1 = &array[1]; int *ptr2 = &array[3];printf("ptr1和ptr2之间相隔元素个数为%d\n", ((ptr1 > ptr2) ? (ptr1 - ptr2) : (ptr2 - ptr1)));return 0;  
}
  • 相同类型的指针可以相互赋值,注意,void*类型除外。

#include <stdio.h>  int main()
{  // 定义数组int array[] = {1, 2, 3, 4, 5};  int *ptr1 = &array[1]; int *ptr2 = ptr1;printf("ptr1的地址是%p\n", ptr1);printf("ptr2的地址是%p\n", ptr2);return 0;  
}

http://www.yayakq.cn/news/275121/

相关文章:

  • 知名的wordpress网站百度集团网站建设方案
  • 房地产 网站 设计制作十堰微网站建设电话
  • 登录网站模板郑州手机网站建设公司排名
  • 巨腾外贸网站建设公司建各公司网站要多少钱
  • 百度申请完域名怎么建设网站网站建设汕头
  • 哈尔滨建设网站官网谷歌网站的主要内容
  • 网站设计特别好的公司怎么建做网站
  • 单页加盟网站模板网站模板 响应式
  • 南京网站制作费用租域名多少钱
  • 全国可信网站浏览器网页打不开是什么原因
  • 电子商务网站建设选择17网站一起做网店打不开
  • 如何建设好高校网站培训网站建设方案说明书
  • 怎么用joomla做网站手表网站制作模板
  • 洛阳网站建设哪家好wordpress生成的网页
  • 公司网站应该怎么做的wordpress博客模板
  • 网站里面的数据库是怎么做的招远做网站哪家好
  • 山东省青州市建设局网站网站建设的方案图片
  • 百度云盘网页登录入口淄博seo定制
  • 攀枝花住房和城乡建设厅官方网站网站要挂工商标识怎么做
  • arvixe如何做网站用易语言做钓鱼网站
  • app制作网站有哪些北京代理记账公司电话
  • 刷赞网站推广ks网站后台首页设计
  • 查网站域名备案查询系统北京seo公司司
  • asp官方网站营销网站做的好的公司
  • 研磨 东莞网站建设做网站需要买空间么 服务器
  • 网站开发eq编辑器免费询价网
  • 直播间挂人气自助网站网站做自适应好不好
  • 嘉兴 网站 制作华为手机网络推广方案
  • 网站关键词描述字数北京好的网站制作
  • 胶州企业网站建设网站建设没有预付款