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

网站免费软件推荐网页设计图片平移

网站免费软件推荐,网页设计图片平移,襄樊网站建设哪家好,住房和城乡建设部课题网站前言 苦苦等待#xff0c;终于迎来了我们的指针讲解第二期#xff0c;如果有还没有看过上一期的小伙伴#xff0c;那赶紧点击这个链接学习后再来看这篇博客吧。指针基础知识超详细讲解#xff08;C 语言#xff09;#xff08;上#xff09; 如果对学习C语言有兴趣那千万…前言 苦苦等待终于迎来了我们的指针讲解第二期如果有还没有看过上一期的小伙伴那赶紧点击这个链接学习后再来看这篇博客吧。指针基础知识超详细讲解C 语言上 如果对学习C语言有兴趣那千万不要忘记关注本专栏哦。O(∩_∩)O 也关注下博主吧 C语言学习专栏 文章目录 1多级指针2一维数组传参的本质和数组名的含义3指针数组4数组指针5二维数组传参的本质6尾声 上一篇博客我们学习了基本的指针类型指针的加减运算以及野指针的成因和避免野指针的方法。今天这一篇博客我们将进一步学习指针。那么久让我们开始吧 1多级指针 首先让我们写先一个简单的指针变量。 int a 10; int* pa a; 这里的int* 代表pa的数据类型是整形指针。那么这个呢 int* * ppa pa; 我们知道pa存的地址会指向整形变量a所以我们用int类型来定义pa如果我们要吧pa的地址在储存在一个指针变量中那么我们就应该用int * *来定义ppaint *指得意思是ppa存的地址指向的变量的数据类型就是int *类型的之后的 *的意思是指ppa是个指针。 那么这么定义ppa的意思就是ppa是一个储存 数据类型为int 的变量的地址 的指针。 这个就是二级指针。 那我们再定义一个指针。 int * * * pppa ppa; 与上面同理ppa就是一个三级指针两级以上的指针就被我们称为多级指针。 我们知道从pa中取出a我们要解引用 * paa 那么我们要从ppa中取出a就要这样解引用 * * ppa * pa a pppa同理。 2一维数组传参的本质和数组名的含义 假如这里有一个函数它的参数是一个数组我们要如何传递这个参数呢可以看看下面的示范。 #includestdio.h viod test(int arr[]) { ; } int main() { int arr[10] {1,2,3,4,5,6,7,8,9,10}; test(arr); return 0; }我肯可以看到我们直接将数组名传到函数中了这是个什么原理呢接下来我来为大家介绍数组名的本质。 当arr单独存在时它代表数组首元素的地址我们将arr作为参数传过去实际上是把arr数组的首地址传了过去那么这时候大家会疑惑既然我传过去的是地址为什么我要把参数设置为int arr[ ]呢实际上int arr[ ]等价于int * arr也就是说我们也可以把参数的格式写成int * arr。 但是也有特例的情况比如我们要打印数组大小的时候会写出这样一段代码。 printf(“%zd”,sizeof(arr)); 此时arr也是单独存在的但是这是他并不是数组首元素的地址而是代表整个数组除了这种情况以外数组名单独出现都代表数组首元素的地址。 既然这样arr代表着什么呢我们不妨写下这么一段代码测试一下。 #includestdio.h int main() { int arr[10] {1,2,3,4,5,6,7,8,9,10}; printf(%p %p,arr,arr); return 0; }我们会发现两者的地址是一样的难道arr代表首元素的地址么那我们对各自地址1在打印看看。 #includestdio.h int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10 };printf(%p %p %p,arr, arr1, arr1);return 0; }可以看出结果却不一样arr1相较于arr多了4,刚好是一个整形的大小而arr1比起arr缺多了整整40正好是整个数组的大小。对arr1跳过了整个数组的大小。说明arr是整个数组的地址。 既然arr单独出现时代表数组首元素的地址那么我们对arr进行解引用我们就会得到数组的首元素 。 * arr 1 那个对arr1解引用自然就是数组的第二个元素了 *arr1 2 那么我们就会发现 * arr 与 arr[0]与 * arr0是等价的 * arr1与arr[1]是等价的。当我们想通过循环打印整个数组时我们就可以这么写。 for(int i 0;i 9 ;i) { printf(%d,*arri); }3指针数组 指针数组顾名思义是个数组整形数组里面装的是整形字符数组里装的是字符那么指针数组里装的自然就是指针。最基本的整形指针数组是这样定义的数组里的元素是整形指针。 int* arr[10] ;(arr是数组名数组中有十个元素) 我们可以在其中存入整形指针。 4数组指针 数字指针显然它是个指针他储存的是一个数组的地址我们先来定义一个整形数组指针存的是整形数组的地址来做个示范吧。 int arr[2]{1,2}; int * parr[2] arr;([ ]的优先级高于*所以要把*parr用括号()括起来表明parr是指针[2]指该数组指针指向的数组有两个元素) 那么数组指针加减运算会有什么结果呢 int main() {int arr[4] { 1,2,3,4 };int(*parr)[4] arr;printf(%p %p, parr, parr 1);return 0; }我们会发现刚好了16正好是arr数组的大小可见对parr1会跳过整个数组的大小。 如果对parr解引用那么我们就会得到数组arr的地址即arr首元素的地址。 5二维数组传参的本质 首先我们可以把二维数组理解为一个一维数组而这个一维数组里面每一个元素都是一个一维数组即二维数组的每一行都是他的一个元素。对arr解引用会得到其第一个元素的地址即第一行的一维数组。对arr1解引用则会得到第二行的一维数组的地址。 我们将二维数组传参是可以有着两种写法。 void test(int(*parr)[2]) void test (int arr[][2])//行数可以不写但是列数必须写这两种写法是完全等价的因为* parr arr [ 0 ] * arr0 **parr arr[0][0]**arr. 对二维数组传参其实传的是二维数组第一行的地址。 **parr11就等价于 arr[1][1]。 6尾声 经过这篇博客想必大家对数组和指针的了解有了进一步的加深认为博主写的不错的千万不要忘记关注博主等待指针讲解下希望大家都能够学好指针指针很重要想着自己的目标再进一步 最终期冲冲冲
http://www.pierceye.com/news/796876/

相关文章:

  • 网站管理更新维护湖南网站建设策划
  • 桥头东莞网站建设网站建设的开发方式和费用
  • 无锡网站优化哪家好wordpress会员内容
  • 网站需求分析的重要手机网站建设的规划
  • 国内大一html网站简单设计用那种语言做网站比较好
  • 网站的flash陕西煤化建设集团铜川分公司网站
  • 网站还能赚钱吗logo公司商标设计
  • 数字校园建设专题网站wordpress游览器标签页
  • 企业网站分析报告途牛网站大数据建设
  • 免费创建论坛网站wordpress sql插件
  • 有移动端网站 怎么做app做网站的困难
  • 金种子酒业网站建设苏州专业的网站建设公司
  • 住房与住房建设部网站首页给网站做收录较好的软件
  • 课程网站的设计网站开发遇到的难题
  • 学网站建设要什么iis 二级网站 发布
  • 怎么仿做网站wordpress文章进不去
  • 网站建设费算办公费吗html5商城网站模板
  • 188旅游网站源码下载做个爬架网站如何做
  • 中国做的比较好的网站设计公司有哪些可以做翻译兼职的网站吗
  • 深圳做网站建设公司dw学生个人网页制作视频
  • html网页设计代码作业网站衡水武邑县建设局网站
  • 网站后台登陆验证码wordpress 前台加载慢
  • 网站推广去哪家比较好专门做网站的公司叫什么
  • 前端做项目的网站资源公司做网站的步骤
  • 资源分享网站怎么建设网站建设百度云
  • 宣讲家网站官德修养与作风建设短视频seo关键词
  • 更新网站怎么弄建设工程合同范本工程施工合同范本
  • 外贸网站建设有什么需要注意的吗白山网站设计
  • 哪家做网站性价比高宁波seo网络优化哪家好
  • 望京做网站微信订阅号怎么做网站