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

重庆建筑信息工程官网深圳网站seo外包公司哪家好

重庆建筑信息工程官网,深圳网站seo外包公司哪家好,网站规划与建设书,磁力吧最佳搜索引擎数组指针定义 类比#xff1a; 整型指针--指向整型的指针 int a 10; int* pa a; 字符指针--指向字符的指针 char ch a; char* pc ch; 数组指针--指向数组的指针 int arr[10] { 0 }; int(*p)[10] arr; // 数组指针 区分#xff1a;指针数组和数组…数组指针定义 类比 整型指针--指向整型的指针 int a 10; int* pa a; 字符指针--指向字符的指针 char ch a; char* pc ch; 数组指针--指向数组的指针 int arr[10] { 0 }; int(*p)[10] arr; // 数组指针 区分指针数组和数组指针 int(*p1)[10]; // 数组指针 int* p2[10]; // 指针数组 p1先和*结合说明p是一个指针变量指向的是一个大小为10个整型的数组所有p1是一个指针指向一个数组p1是数组指针。 p2是一个数组有10个元素存放int*类型p2是指针数组。 注[ ]优先级高于 * 必须使用 () 使p1与 * 先结合。 数组名和数组名 数组名绝大多数情况下是数组首元素地址但是有两个例外 1 数组名数组名表示整个数组 2 sizeof(数组名数组名表示整个数组计算的是整个数组的大小。 int arr[10]; 对于上面的数组arr和arr分别是什么意思 我们知道arr是数组名数组名表示首元素的地址arr是否和arr相同先看下面这段代码。 int main() {int arr[10] { 0 };printf(arr %p\n, arr);printf(arr %p\n, arr);return 0; } 运行结果 可见arr和arr打印的地址一样那么它是否和arr一样表示的是数组首元素地址呢在看下面这段代码 int main() {int arr[10] { 0 };printf(arr %p\n, arr);printf(arr %p\n, arr);printf(arr1 %p\n, arr 1);printf(arr1 %p\n, arr 1);return 0; } 运行结果 可以发现arr和arr虽然值一样但它们的意义应该不一样。事实上arr表示的是整个数组的地址在本例中arr的类型是int(*)[10]即数组指针类型。arr1偏移了整个数组的大小40打印的地址为十六进制arr1则偏移了一个整型大小。 所以数组名和数组名的值虽然相同但是它们的意义并不相同可以理解为一个是数组首元素地址另一个是数组首地址本质是它们的类型不同一个是同类型指针另一个则是数组指针。 理解了数组指针和数组名的概念在来看一下指针数组指针类型是什么样的 int* arr[10]; // 整型指针数组 int* (*p)[10] arr; // 整型指针数组指针 数组指针的使用 引入--指针访问一维数组 我们知道可以通过下标或指针访问数组如下 int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10 };int sz sizeof(arr) / sizeof(arr[0]);// 下标访问数组for (int i 0; i sz; i){printf(%d , arr[i]);}printf(\n);// 指针访问数组int* p arr;for (int i 0; i sz; i){printf(%d , *(p i));//*(pi)与p[i]等价}return 0; } 运行结果 数组指针访问二维数组 int arr[3][3] { 1,2,3,4,5,6,7,8,9 }; 通过下标访问二维数组 int main() {int arr[3][3] { 1,2,3,4,5,6,7,8,9 };for (int i 0; i 3; i){for (int j 0; j 3; j){printf(%d , arr[i][j]);}printf(\n);}return 0; } 运行结果 arr[i]其实是数组每一行首元素的地址arr[i][j]等价*(arr[i]j)。对于二维数组它的首元素是数组第一行它的数组名就是数组第一行的地址是一个数组指针。与用指针访问一维数组类似我们可以定义一个数组指针用来访问二维数组但这并不是数组指针的真实用途。 数组指针的一个主要用法是作为参数接收二维数组例如 void print_arr(int(*arr)[3], int row, int col) {int i 0;for (i 0; i row; i){for (int j 0; j col; j){printf(%d , arr[i][j]);}printf(\n);} } int main() {int arr[3][3] { 1,2,3,4,5,6,7,8,9 };print_arr(arr, 3, 3);return 0; } 运行结果 理解二维数组名 事实上二维数组传参int arr[][3]的本质就是传递一个数组指针即二维数组的数组名。关于数组传参和指针传参将在下篇深入讲解。 继续学习指针进阶内容见下篇数组参数/指针参数
http://www.tj-hxxt.cn/news/225908.html

相关文章:

  • 没有空间可以做网站吗怎么建设回收网站
  • 全屏响应式网站模板长沙网站建站
  • 外贸网站优化方案企业网站管理系统用哪个好
  • 雄安网站建设机构室内设计公司办公室图片
  • 做百度竞价什么网站好互联网门户网站模板
  • 网站源码大全免费的营销网站的优势是什么意思
  • 屏山县建设局网站做网站ui去哪儿接私活
  • 阿里云服务器怎么建网站wordpress图片多链接
  • 河北省香河县建设局网站163企业邮箱收费标准一年多少钱
  • 做网站宁波大点的网络公司中国政务服务网
  • 专业开发网站公司本溪市住房和城乡建设局网站
  • 网站建设策划书ppt为中国移动做网站的公司叫什么
  • 网站应该怎么做运维群晖 删除 wordpress
  • 北京市规划网站贵阳网站建设980包年秒搜科技Sa50
  • 还有哪些网站做产品众筹杭州网站设计公司电话
  • 我看别人做系统就直接网站下载凡科网站建站后 怎么编辑自己的代码源
  • 织梦 xml 网站地图做网站犯法了 程序员有责任吗
  • 云网站系统免费com域名申请注册
  • 网站做微信支付接口群晖wordpress远程安装
  • 做站群一个网站多少钱营销型网站设计流程
  • 文化网站策划家里装修
  • 集团网站怎么建设大连住房和城乡建设官网
  • 动漫网站开发与建设怎么做网站的百度收录
  • 内贸在什么网站做网站关于我们介绍模板
  • 奥派电子商务网站建设论文企业管理咨询是做什么的
  • 中冶东北建设网站wordpress 静态页面显示文章
  • php网站模板修改wordpress主题摘要字数
  • 如何设置自己网站的关键词短剧小程序搭建
  • 重庆中国建设银行招聘信息网站永久免费云服务器无需注册
  • 无锡做网站哪家公司好建设单位招聘信息