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

廊坊营销网站服务国际新闻最新消息今天军事新闻

廊坊营销网站服务,国际新闻最新消息今天军事新闻,寿光 网站建设,如何做闲置物品交换的网站数组指针与指针数组 数组指针 概念:数组指针是指向数组的指针,本质上还是指针 特点: 先有数组,后有指针 它指向的是一个完整的数组 一维数组指针: 语法: 数据类型 (*指针变量名)[行容量][列容量]; 案…

数组指针与指针数组

数组指针

概念:数组指针是指向数组的指针,本质上还是指针

特点:

  • 先有数组,后有指针

  • 它指向的是一个完整的数组

一维数组指针:

  • 语法:

 数据类型 (*指针变量名)[行容量][列容量];
  • 案例:

 //数组指针:指向数组的指针(这里不是指向数组元素的指针)int mian(){//一维数组指针//先有数组,再有指针int arr[] = {100,200,300};//获取数组的元素个数int len = sizeof(arr)/sizeof(arr[0])// int *p = arr;//实际上指向了数组的第一个元素  p++//定义一个数组指针,指向arr这个数组int (*p)[3] = &arr; //此时p不是指向arr数组的第一个元素,而是指向arr这个数组本身printf("%p",p);// p++; 此时p++会跳出整个数组,访问到一块未知的内存,程序中尽量避免这种写法// 如何访问数组指针printf("%d\n",(*p)[2]); // 300//遍历for(int i = 0; i < len; i++){printf("%d\n",(*p)[i]);    }return 0;}

我们之前所学的是指向数组元素的指针,本质上还是指针变量;现在我们学的是指向数组的指针,叫做数组指针。

二维数组指针:

  • 语法:

 数据类型 (*指针变量名)[容量];
  • 案例:

写法1:

#include <stdio,h>int main(){//创建一个普通的二维数组int arr[][3] = {10,20,30,100,200,300,1000,2000,3000};int len = sizeof(arr)/sizeof(arr[0]);//创建一个二维数组指针//一个二维数组本质上还是一个一维数组,只不过它的元素也是数组int (*p)[3][3] = &arr;printf("%d",(*p)[1][0]);//遍历for(int i = 0; i < len; i++){for(int j = 0; j < len ; j++){printf("%-5d\n",(*p)[i][j]);}printf("\n");}}

写法2:

#include <stdio,h>int main(){//创建一个普通的二维数组int arr[][3] = {10,20,30,100,200,300,1000,2000,3000};int len = sizeof(arr)/sizeof(arr[0]);//创建一个二维数组指针//一个二维数组本质上还是一个一维数组,只不过它的元素也是数组int (*p)[3] = arr; // 10printf("%d",(*p)[0]); //10//获取元素2000//三种写法:内部为行,外部为列printf("2000-%d,%d,%d",*(*(p+2)+1),*(p[2]+1),p[2][1]);return 0;}
  • 指针和数组中符号优先级:()> [] > *

  • 通过指针引用多维数组

案例1

需求:用指向元素的指针变量输出二维数组元素的值

 #include  <stdio.h>//用指向元素的指针变量指向二维数组元素的值int main(){//定义一个普通的二维数组int arr[3][4] = {1,3,5,7,9,11,13,15,17,19.21.23};//定义一个指针变量,用来接收二维数组的元素值int *p = arr[0]; // &arr[0][0]//循环遍历for(;p < arr[0] + 12;p++){//每4个换行if((p - arr[0]) % 4 ==0){printf("\n");}printf("%-4d",*p)}printf("\n");return 0;}

案例2

需求:数组指针-输出二维数组任一行一列元素的值

#include <stdio.h>//数组指针-输出二维数组任一行一列元素的值int arr_main1(){//定义一个二维数组int arr[3][4] = {1,3,5,7,9,11,13,15,17,19.21.23};//创建一个一维的数组指针指向二维数组int (*p)[4] = arr; //等价于&arr[0] , p代表我们这个二维数组// 创建两个变量,代表我们对应数据的行和列int row,col;//通过控制台来输入printf("请输入行号和列号:\n");scanf("%d,%d",&row,&col);printf("arr[%d][%d] = %d\n",row,col,*(*(p+row)+col));//*(*(p+row)+col),*(p[row]+col),p[row][col]}int main(){return 0;}

指针数组

概念:指针数组是一个数组,数组中的每一个元素都是一个指针

特点:

  • 先有指针,后有数组

  • 指针数组的本质是一个数组,只是数组中的元素类型为指针

语法:

 数据类型 *数组名[容量];int *arr[4];//int (*arr)[4] 这个是数组指针
#include <stdio.h>int main(){// 定义三个变量int a =10,b = 20,c = 30;//定义指针数组,指针数组用来存放指针的int *arr[3] = {&a,&b,&c};//获取数组大小int len = sizeof arr / sizeof arr[0];//遍历数组for(int i = 0 ; i < len ;i++){printf("%-3d",*arr[i]);//输出每个指针指向的值,需要解引用}return 0;}

建议:我们一般使用指针数组处理字符串

http://www.mmbaike.com/news/63555.html

相关文章:

  • 哪里有网站源文件下载公众号推广接单平台
  • 网络平台建站流程哈尔滨seo优化软件
  • 山东住房和建设厅网站首页合肥seo推广公司
  • wordpress阿里云图片企业seo的措施有哪些
  • 怎么做网站地图导航seo视频教程百度云
  • 湖北省建设用地预审网站杭州seo专员
  • 滁州做网站的公司如何做网站 新手 个人 教程
  • 网站拒绝被百度收录常州seo外包
  • 怎样做网站制作网络营销推广方案ppt
  • 定制网站建设服务器兰州网络推广推广机构
  • 如何在第三方网站做推广亚马逊的免费网站
  • 企业3合1网站建设电话宣传推广方式有哪些
  • 做网站需要多少资金柳州网站建设哪里有
  • 淄博著名网站开发方法关键词采集软件
  • 重生做网站的小说网站如何添加友情链接
  • 催收网站开发怎么在百度做广告
  • 医院网站建设要求专业软文发布平台
  • gta5线下买房网站建设全国分站seo
  • 网站音频播放器源码鞍山网络推广
  • wordpress积分商城主题广州seo软件
  • 可以做动效的网站如何制作一个公司网站
  • 飓风 网站建设手机百度官网
  • 政府网站建设与对策分析app广告推广
  • 网站建设费用核算科目百度下载app下载
  • 东坑做网站pc端百度
  • 二维码生成网址链接seo诊断
  • 网站模板源文件推广吧
  • 中国建筑集团招聘seo代理计费系统
  • 新手学做网站 下载aso苹果关键词优化
  • 商城网站建设流程sem优化公司