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

网站界面颜色搭配wordpress 导航站

网站界面颜色搭配,wordpress 导航站,dw软件入门教程,沈阳关键词自然排名一、. 数组名的理解 int arr[5] { 0,1,2,3,4 }; int* p arr[0]; 在之前我们知道要取一个数组的首元素地址就可以使用arr[0]#xff0c;但其实数组名本身就是地址#xff0c;而且是数组首元素的地址。在下图中我们就通过测试看出#xff0c;结果确实如此。 可是…一、. 数组名的理解 int arr[5] { 0,1,2,3,4 }; int* p arr[0]; 在之前我们知道要取一个数组的首元素地址就可以使用arr[0]但其实数组名本身就是地址而且是数组首元素的地址。在下图中我们就通过测试看出结果确实如此。 可是我们再来看下图的结果我们发现当我们对数组名使用sizeof函数是会发现不同之处如果数组名就是地址那么再x64环境下应该就是八个字节但是却输出了20这是为什么呢? 其实数组名就是数组首元素(第⼀个元素)的地址是对的但是有两个例外 1. sizeof(数组名)sizeof中单独放数组名这里的数组名表示整个数组计算的是整个数组的大小 单位是字节。 2. 数组名这里的数组名表示整个数组取出的是整个数组的地址整个数组的地址和数组首元素 的地址是有区别的。 可以当我们试着打印这俩个地址时看出来结果似乎是相同的。那到底是有什么区别呢我们再想想看指针变量类型不同的区别是否有些思路了呢。 这里我们发现arr和arr1相差4个字节所以arr[0]和arr[0]1相差4个字节是因为arr [0]和 arr 都是首元素的地址1就是跳过⼀个元素。但是arr 和 arr1相差20个字节。 因为arr是数组的地址1 操作是跳过整个数组的。到这里大家应该搞清楚数组名的意义了吧。 二、使用指针访问数组 #include stdio.h int main() {int arr[5] { 0 };int sz sizeof(arr) / sizeof(arr[0]);for (int i 0; i sz; i){scanf(%d, arr i);}for (int i 0; i sz; i){printf(%d , *(arr i));}return 0; } 在scanf()中arr是arr数组首元素的地址。因为数组元素的地址是递增的所以随着这个地址的增加出现的地址就变成了数组中其他元素的地址了也就是arri相当于arr[i]。在打印输出时也是相同的原理依次取出每个元素的地址并解引用即可也就是*(arri)相当于arr[i]。 三、一维数组传参的本质 #include stdio.h void test(int arr[5]) {int sz1 sizeof(arr) / sizeof(arr[0]);printf(%d , sz1); } int main() {int arr[5] { 0 };int sz2 sizeof(arr) / sizeof(arr[0]);test(arr);printf(%d , sz2);return 0; } 当我们把数组传给函数去实现求其中的元素数时我们会发现得到的结果并不是我们想要的结果。这是为什么呢我们接下来分析一下这段代码并想一想一维数组传参的本质。在一维数组传参中我们传的其实是这个数组的首元素的地址所以在test()中得到的是arr这个数组中第一个元素的地址在x64环境下它就占八个字节。而在它后面的arr[0]就像前面说的一样相当于*arr也就是arr数组的首元素的值因为它的类型是int所以占四个字节。所以一维数组传参的本质就是传递的是指针也就解决不了求元素数的问题。当然在传参时我们也可以写成指针的形式。 #include stdio.h void test(int* arr) {int sz1 sizeof(arr) / sizeof(arr[0]);printf(sz1%d , sz1); } int main() {int arr[5] { 0 };int sz2 sizeof(arr) / sizeof(arr[0]);test(arr);printf(sz2%d , sz2);return 0; } 四、冒泡排序 其实冒泡排序的核心就是两两相邻元素比较。如果我们要将一个数组中的数从小到大排列就可以使用冒泡排序。 #include stdio.h void bubble_sort(int* arr,int sz) {int temp;for (int j 1; j sz; j){for (int i 1; i sz - j; i){if (*(arr i - 1) *(arr i)){temp *(arr i - 1);*(arr i - 1) *(arr i);*(arr i) temp;}}} } int main() {int arr[10] { 0 };int sz sizeof(arr) / sizeof(arr[0]);for (int i 0; i sz; i){scanf(%d,arr[i]);}bubble_sort(arr,sz);for (int i 0; i sz; i){printf(%d , arr[i]);}return 0; } 当然如果该数列的元素如果本来就是正序排列的那么这样做就会很浪费效率我们可以对程序再进行优化一下。 #include stdio.h void bubble_sort(int* arr,int sz) {int temp;for (int j 1; j sz; j){int flag 1;for (int i 1; i sz - j; i){if (*(arr i - 1) *(arr i)){flag 0;temp *(arr i - 1);*(arr i - 1) *(arr i);*(arr i) temp;}}if (flag)break;} } int main() {int arr[10] { 0 };int sz sizeof(arr) / sizeof(arr[0]);for (int i 0; i sz; i){scanf(%d,arr[i]);}bubble_sort(arr,sz);for (int i 0; i sz; i){printf(%d , arr[i]);}return 0; } 在程序中加入了flag变量如果在第一次排序中没有改变排序也就是这个数组的数本来就为正序就会跳出这个循环。 五、二级指针 我们知道指针变量也是变量那么它也应该有地址什么能储存它呢就是二级指针。 如图所示pa是a的指针变量我们对pa进行取地址也就是我们刚才说的二级指针。 *ppa 通过对ppa中的地址进行解引用这样找到的是 pa *ppa 其实访问的就是 pa 。 **ppa 先通过 *ppa 找到 pa ,然后对 pa 进行解引用操作 *pa 那找到的是 a 。 六、指针数组 从名字中我们就能看出这是存放指针的数组。指针数组的每个元素都是用来存放地址指针的。 接下来我们用指针数组模拟二维数组。 #include stdio.h int main() {int arr1[4] { 1,2,3,4 };int arr2[4] { 2,3,4,5 };int arr3[4] { 3,4,5,6 };int* arr[3] {arr1,arr2,arr3};for (int i 0; i 3; i){for (int j 0; j 4; j){printf(%d , arr[i][j]);}printf(\n);}return 0; } 我们能看出来打印出的样子和二维数组一模一样。这是怎么实现呢arr指针数组中存放的是数组名也就是每行首元素的地址。我们打印时使用的arr[i][j]其实是通过arr[i]也就是arri找到是哪个小数组再通过arr[i][j]就是*(arr[n]j)也就是*(*(arri)j)就能找出该行的每个数了。上述的代码模拟出二维数组的效果实际上并非完全是二维数组因为每一行并非是连续的。
http://www.hkea.cn/news/14283978/

相关文章:

  • 阜新网站制作保定seo外包公司
  • 网站建立初步教案胶东国际机场建设有限公司网站
  • 网站开发者工具解读单位网站建设维护论文
  • 施工企业现状长沙网站优化方式
  • 多个wordpress站点同步长春企业网站模板建站
  • 佛山做网站哪家公司最好罗湖商城网站建设哪家服务周到
  • 寿光专业做网站的公司有哪些百度一下网页版
  • 自己做网站的方法3d绘图培训学校
  • 个人导航网站怎么备案微网站和手机网站的区别
  • 智慧团建登录手机版入口企业网站优化官网
  • 国家示范校建设专题网站房屋设计软件app自己设计画图
  • 酷站是什么网站山西网站建设价格
  • 免费一站式网站建设wordpress文章排序id
  • 哈尔滨做网站优化网络推广和优化是什么意思
  • 网站建设10年后的目标国家高新技术企业认定查询官网
  • php网站培训机构企业做网站seo文章是什么
  • 营销型网站与普通网站的比较网站建设柚子网络科技官网
  • 制作服务网站企业宣传册设计与制作
  • 做视频网站的公司有哪些论坛seo招聘
  • 英德网站建设网站建设与管理ppt
  • 小学校园网站建设要求营销型网站的优势
  • 交互型网站网站登陆系统怎么做
  • 网站制作 视频网页编辑软件dreamw
  • 单页网站 营销广告设计模板网站
  • 中国设计网平面设计网抖音seo是什么意思
  • 惠州专业网站建设价格赤峰建筑人才网
  • 做一个网站成本要多少钱湖北建设厅官方网站
  • 东丽做网站哔哩哔哩网页版下载
  • 湖南城乡住房建设厅网站广东产品外观结构设计公司官网
  • 传奇网站如何建设无锡商城网站建设