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

网站开发目录结构美食网站开发环境

网站开发目录结构,美食网站开发环境,电子商务网页制作是什么,网站中的冒号数组指针定义 类比#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/178272.html

相关文章:

  • 三亚文明城市建设服务中心报名网站椒江网站建设公司
  • 婚庆网站建设公司桂林漓江20元背面图
  • 博罗网站建设费用适合年轻人开的工作室
  • 小学英语教师做应用相关网站深圳网站商城建设
  • 内蒙古呼和浩特职业学院seo单词优化
  • 做网站成功文明网站建设工作进度表
  • 信息发布平台建站html标签属性
  • 国外免费域名网站备案期间怎么做网站
  • 网站建设内容保障制度西安网站建设行业
  • 网站备案被注销cms免费开源
  • 什么nas可以做网站服务器wordpress调用优酷视频
  • 网站的域名和空间软件定制平台有哪些
  • 鹤壁哪有做网站的襄樊seo
  • 不在百度做推广他会把你的网站排名弄掉自建站有哪些
  • 商务网站建设策划书的格式seo优化的主要任务包括
  • 电子工程网站有哪些浙江火电建设有限公司网站
  • 专门做酒店的网站湖州民生建设有限公司网站
  • 网站建设优化陕西后端开发工程师前景
  • 龙岗网站 建设深圳信科建设网站部署环境
  • 可信赖的常州网站建设网站建设实现后台数据导出excel
  • 尧都网站建设tq网站建设
  • 易企互联网站建设推广怎么做才可以赚钱
  • 我要自学网网站南京做网站的
  • 网站开发毕业设计说明陕西网渭南站
  • 商丘网站制作费用app优化
  • 个人网站备案网址wordpress spa
  • 怎么用dw做地图网站公司官网制作多少钱
  • 学做电商网站设计wordpress折腾
  • 天津自贸区建设局网站wordpress 匿名投票
  • 网站重新建设的申请书wordpress qq主题下载失败