C/C++中用指针表示二维数组的两种常用方法

先说C++:
C++中 vector非常方便,可以用vector来替代数组。
在表示二维数组的时候,可以用vector<vector<int>>,二维数组作为参数入参的时候,可以使用引用,可以对该数组进行修改。
比如fun(vector<vector<int>>& v);
同时也可以使用vector指针。比如vector<int>* dp = new vector<int>[10];这样就定义了10个int型的vector。
vector表示二维数组比较常用的是这两种办法。
如果使用常规的数组的话,比较方便的就是使用指针,而且要注意一点,数组作为参数入参的时候传递数组的名字会自动传递指针。
表示如图所示:
图片说明
这样就定义了一个3行2列的二维数组
当然也可以使用C语言中的表示,下面来介绍一下。
再说C语言:
因为C语言无法使用new。可以这样来表示 如图所示:
图片说明 </int></int></int></int>

这样就可以用p[i][j]表示二维数组的某一行 某一列的值。
但是在C语言中有一个问题函数调用的时候不能直接fun(**p),不然会提示
图片说明
本来的函数是:
图片说明
修改成这样之后就可以运行使用了:
图片说明

C++中函数调用二维数组指针可以直接使用fun(**p)
图片说明

全部评论

相关推荐

程序员牛肉:1.大头肯定是院校问题,这个没啥说的。 2.虽然有实习,但是实习的内容太水了,在公司待了七个月的时间,看起来就只做了jwt和接入redis。爬取新闻,数据导入。这几个需求值得你做七个月吗?这不就是三四个月的工作量吗?我要是面试官的话真心会认为你能力不太行。所以既然有实习了,一定要好好写,像是Swagger这种东西是真没必要写上去,就拉一个包的事情。 3.我个人觉得话,在校生不要把自己当社招看,除非你的项目是特别牛逼,特别有名的含金量,否则不要写这种密密麻麻的一串子工作职责。你的项目只有一个作用,就是供面试官从中来抽取八股对你进行拷打。 但是你现在这个看不来什么技术点,可以改一下,详细表述一下你用什么技术实现了什么功能,在实现这个功能的过程中,你解决了什么难题。
点赞 评论 收藏
分享
09-10 11:50
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务