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

网站建设与制作模板网站制作需要注意什么

网站建设与制作模板,网站制作需要注意什么,wordpress调用随机文章代码 | wordpress啦!,网站下载视频的方法目录 一、使用指针访问数组二、数组名的理解1、数组首元素的地址2、整个数组 三、一维数组传参的本质四、冒泡排序五、二级指针六、指针数组 一、使用指针访问数组 可以使用指针来访问数组元素。例如,可以声明一个指针变量并将其指向数组的第一个元素,然…

目录

  • 一、使用指针访问数组
  • 二、数组名的理解
      • 1、数组首元素的地址
      • 2、整个数组
  • 三、一维数组传参的本质
  • 四、冒泡排序
  • 五、二级指针
  • 六、指针数组

一、使用指针访问数组

可以使用指针来访问数组元素。例如,可以声明一个指针变量并将其指向数组的第一个元素,然后通过递增指针的方式来访问数组的其他元素:

#include<stdio.h>
int main()
{int arr[5] = { 1, 2, 3, 4, 5 };int* ptr = arr; // 指针指向数组的第一个元素for (int i = 0; i < 5; i++){printf("%d ", *ptr); // 访问数组元素ptr++; // 指针递增,指向下一个元素}return 0;
}
  • 输出结果:
    在这里插入图片描述

二、数组名的理解

在C语言中,数组名有时代表数组中首元素的地址,有时代表整个数组,视情况而定。

1、数组首元素的地址

例1: 定义一个整型数组arr,可以用数组名arr表示数组的首地址,作为参数传递给函数:

#include<stdio.h>void printArray(int arr[], int size) 
{for (int i = 0; i < size; i++) {printf("%d ", arr[i]);}printf("\n");
}int main() 
{int arr[5] = {1, 2, 3, 4, 5};printArray(arr, 5);return 0;
}
  • 输出结果:
    在这里插入图片描述

这里,printArray函数的参数形式为int arr[],实际上是将数组名arr作为指针常量传递给函数。


例2: 用数组名访问数组中的元素:

#include<stdio.h>
int main()
{int arr[5] = { 1, 2, 3, 4, 5 };int* ptr = arr;printf("%d\n", *ptr);    // 输出1ptr++;printf("%d\n", *ptr);    // 输出2return 0;
}
  • 输出结果:
    在这里插入图片描述

这里,arr和ptr都指向数组的第一个元素,可以通过指针操作来访问数组的元素。


2、整个数组

例1: sizeof中单独放数组名,这⾥的数组名表⽰整个数组,计算的是整个数组的⼤⼩(单位是字节):

#include<stdio.h>
int main()
{int arr[5] = { 1, 2, 3, 4, 5 };int size = sizeof(arr);printf("%d\n", size);return 0;
}
  • 输出结果:
    在这里插入图片描述
    例2: &数组名,这⾥的数组名表⽰整个数组,取出的是整个数组的地址(整个数组的地址和数组⾸元素的地址是有区别的)
#include<stdio.h>
int main()
{int arr[5] = { 1,2,3,4,5 };printf("&arr[0]   = %p\n", &arr[0]);printf("&arr[0]+1 = %p\n", &arr[0] + 1);printf("arr       = %p\n", arr);printf("arr+1     = %p\n", arr + 1);printf("&arr      = %p\n", &arr);printf("&arr+1    = %p\n", &arr + 1);return 0;
}
  • 输出结果:
    在这里插入图片描述
    这⾥我们发现&arr[0]和&arr[0]+1相差4个字节,arr和arr+1相差4个字节,是因为&arr[0]和arr都是⾸元素的地址,+1就是跳过⼀个元素。
    但是&arr和&arr+1相差20个字节,这就是因为&arr是数组的地址,+1操作是跳过整个数组的。

除了这两个例子之外,其他任何地⽅使⽤数组名都表⽰⾸元素的地址。

三、一维数组传参的本质

在C语言中,一维数组传参时,实际上传递的是数组的首地址,也就是数组名。函数可以通过修改传入的数组来修改实际的数据。

#include<stdio.h>void modifyArray(int arr[], int size) 
{for (int i = 0; i < size; i++) {arr[i] *= 2; // 修改数组元素}
}int main() 
{int arr[5] = {1, 2, 3, 4, 5};modifyArray(arr, 5); // 传递数组名作为参数for (int i = 0; i < 5; i++) {printf("%d ", arr[i]); // 输出修改后的数组}return 0;
}
  • 输出结果:
    在这里插入图片描述

四、冒泡排序

冒泡排序是一种基本的排序算法,通过多次比较和交换来实现。算法的核心思想是从数组的第一个元素开始,依次比较相邻的两个元素如果前一个元素大于后一个元素,则交换它们的位置

#include<stdio.h>void bubbleSort(int arr[], int size) 
{for (int i = 0; i < size - 1; i++) {for (int j = 0; j < size - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}
}int main() 
{int arr[5] = {5, 4, 3, 2, 1};bubbleSort(arr, 5);for (int i = 0; i < 5; i++) {printf("%d ", arr[i]);}return 0;
}
  • 输出结果:
    在这里插入图片描述

五、二级指针

二级指针是指向指针的指针。通过使用二级指针,可以在函数中修改指针的值,间接修改指针指向的变量。

#include<stdio.h>void changeValue(int **ptr) 
{int newValue = 10;*ptr = &newValue; // 修改二级指针指向的变量
}int main() 
{int value = 5;int *ptr = &value;changeValue(&ptr); // 传递二级指针作为参数printf("%d", *ptr); // 输出修改后的值return 0;
}
  • 输出结果:
    在这里插入图片描述

六、指针数组

指针数组是一个数组,其中的每个元素都是指针。通过指针数组,可以存储多个指针,并进行相应的操作。

#include<stdio.h>int main() 
{int a = 1, b = 2, c = 3;int *ptrArray[3]; // 声明指针数组ptrArray[0] = &a; // 将指针赋值给数组元素ptrArray[1] = &b;ptrArray[2] = &c;for (int i = 0; i < 3; i++) {printf("%d ", *ptrArray[i]); // 输出数组元素指向的值}return 0;
}
  • 输出结果:
    在这里插入图片描述
http://www.yayakq.cn/news/200029/

相关文章:

  • wordpress网站在哪里修改密码更合网站设计制作
  • 深圳好看的公司网站多久可以做网站
  • 园林网站建设设计方案企业宣传报道模板范文
  • 上海城建设计院网站遵义网上推广怎么弄?
  • 那些网站做任务领q币网站开发用什么开发
  • 设计网站公司搜索y湖南岚鸿知名怎样做网站卖东西
  • 蓝色通用营销型企业网站模板医院网站asp
  • 新闻类网站怎么建设应该双网站
  • 网站优化是在哪里做修改内蒙古生产建设兵团四师三十四团知青网站
  • 物流网站开发策划站酷海报设计图片
  • 怎么制作视频网站wordpress标签查看id
  • 那个网站点击率高备案网站还是域名
  • 网站建设问答谁知道苏州溪城水处理网站谁做的
  • 南京网站关键词嵊州建设局网站
  • 林州网站建设网站如何做外链
  • 米枫网站怎么做分页网站空间500m是什么
  • 找人做试管婴儿的网站太原网站制作建设
  • 哈尔滨网站建设信息wordpress wap跳转
  • 网站后台忘记密码网站开发技术三大件
  • 建网站要服务器佳木斯建网站的
  • 南通中小企业网站制作什么网站必须要flash
  • godaddy 网站上传吃什么补肾壮阳
  • 域名购买查询世纪兴seo公司
  • 泉州app网站开发价格沈阳模板建站软件
  • 网站计数器代码js怎么样做网站才可以加重权重
  • 加拿大pc网站搭建人防工程做资料的网站
  • 网站不能访问的原因金网科技
  • 加快政务网站建设一级a做爰片图片免费观看网站
  • 专业的公司网站设计服务建造师信息查询网
  • 网站开发地图贵州企业展示型网站建设