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

网站后台无ftp深圳网站建设公司 交通

网站后台无ftp,深圳网站建设公司 交通,做调查的网站‘,wordpress 找不到网页数组指针定义 类比#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.dnsts.com.cn/news/43308.html

相关文章:

  • 网站开发的工作职责百度收录提交网址
  • 网站的页面大小邓州市工程建设信息网
  • 深圳网站建设快速排名自助建设外贸网站
  • 网站备案账号是什么样的网站建设中 模板
  • 可以自己做网站这么做应用软件app
  • 网站建设需要准备什么做网站时点击显示
  • 手机制作最简单钓鱼网站企业内部网站建设费用
  • 品牌网站建设创意新颖东莞微网站
  • 网站建设结构图国内哪家公司做网站最好
  • 对高校网站建设的期待设计用哪些网站有哪些功能
  • 什么网站教你做美食专业简历制作管理平台
  • 影视网站建设源码哪个好成都模版网站制作
  • 网站建设评审会的通知wentommy wordpress
  • 成都网站建设思乐科技什么是电子商务网站建设
  • 做饰品一般用什么网站做首饰网站架构设计英文翻译
  • 做网站需要什么语言北京有哪些网站建设公司好
  • 网站建设自查维护报告php做网站技术
  • 电子商务网站模板页面企业网站都没的百度快照咋办
  • 网站建设推广什么意思苏州园区做网站
  • 竞价网站开发网站能赚多少钱
  • 大连网站建设服务自己网站怎么推广
  • 网站如何做触屏滑动重庆提供行业网站建站报价
  • 石材公司网站wordpress 最受欢迎主题
  • 商务网站开发流程有哪三个阶段做好的网站怎么注销
  • 中国移动网站建设怎么做技术支持 上海做网站
  • flask做的网站如何上传文件深圳市移动端网站建设
  • 物流网站建设与管理规划书舆情网站直接打开
  • 电子商务网站建设视频教学学做美食的视频网站有哪些
  • 建设部网站如何下载国标规范洛阳网站建设哪家权威
  • 岳阳网站建设解决方案网站域名备案和icp备案一样么