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

成都 企业 网站建设今日军事头条

成都 企业 网站建设,今日军事头条,设计网站推荐,竞价托管公司指针数组和指向数组的指针 int *p[4]和int (*p)[4]有何区别? 前者是一个指针数组,数组大小为4,每一个元素都是一个指向int的指针 后者是指向int[4]类型数组的指针 以上代码若运行会报如下错误 main函数中定义的a数组本质是一个指向int[2]的…

指针数组和指向数组的指针

int *p[4]和int (*p)[4]有何区别?
前者是一个指针数组,数组大小为4,每一个元素都是一个指向int的指针
后者是指向int[4]类型数组的指针
在这里插入图片描述
以上代码若运行会报如下错误
在这里插入图片描述
main函数中定义的a数组本质是一个指向int[2]的指针,而函数形参则是一个指针数组,即形参的a是一个二维指针,所以会报错类型不匹配
若将形参改为int (*a)[2]则编译通过

数组中a和&a的区别

假如a是一个一维数组,输出a和&a发现结果相同,都是一维数组首元素的地址,但两者虽然值相同,却是不同的
在这里插入图片描述
这段代码是没问题的,但若将第二行的&a改为a,则会报错
在这里插入图片描述
即编译器认为a是int类型的,而&a则是int ()[4]类型的,用大白话讲就是&a编译器可以认出a是一个数组,a则不行

#include "stdio.h"
int main()
{int a[5] = { 1,2,3,4,5 };int *ptr = (int *)(&a + 1);printf("%d,%d", *(a + 1), *(ptr - 1));/*getchar是用VS编写方便查看输出*/getchar();return 0;
}

请思考一下上面的输出结果,如果你非常自信了,可以不用往下看
这个题目主要考察&a 和 a

  • a 在这里代表是的数组首元素的地址即 a[0]的首地址,其值为 0x005efda0。
  • &a 代表的是数组的首地址,其值为 0x005efda0。
  • a+1 的值是 0x005efda0+1*sizeof(int),等于 0x005efda4。
  • &a+1 的值是(0x005efda0 +(sizeof(a)= 5*sizeof(int))= 0x005efdb4 {0xcccccccc, 0xcb626a90, 0x005efdd0, 0x0029200e, 0x00000001}

二级指针

指向指针的指针

//一些常用的头文件
#include<stdio.h>
#include<iostream>
using namespace std;/*
通过引用直接去修改数组里的元素
小技巧:函数写在主函数(main)前面,就不用写函数声明了
*/
void SetArray(int row,int col,int** &Array){//&是引用符号,得到的是指针地址
//二维指针需要通过一维指针去指向数组Array = new int*[row]; //开辟行空间for(int i = 0;i < row;i++){Array[i] = new int[col]; //开辟列空间for(int j = 0;j < col;j++){Array[i][j]  = 0;//初始化,也可以将其他数组或是值存进去}}
}
//打印数组里的内容
void PrintArray(int** Array,int row,int col){for(int i = 0;i < row;i++){for(int j = 0;j < col;j++){cout << Array[i][j] << " ";}cout << endl;}
}
//内存释放:开辟的数组空间用完必须要手动释放,不然会爆内存
void DeleteArray(int** Array,int row){
for(int i = 0;i < row;i++){delete[] Array[i];}delete Array;
}
int main(){int** Array = NULL;int row = col = 3;SetArray(row,col,Array);PrintArray( Array,row,col);DeleteArray(Array,row);return 0;
}
http://www.15wanjia.com/news/41306.html

相关文章:

  • 建筑网站知识大全大数据营销的案例
  • 北京 网站设计 地址通州百度福州分公司
  • wordpress建站教程书推荐竞价防恶意点击
  • 中国机械加工网订单app优化推广
  • 网站建设论坛报告企业网站制作模板
  • 衡阳县专业做淘宝网站发布软文的平台有哪些
  • 网站如何做响应式布局app开发网站
  • 千素网站建设免费注册公司
  • 做壁纸壁的网站有什么区别关键词优化排名用哪个软件比较好
  • 网站设计推广方案广东免费网络推广软件
  • 泉州做网站线下宣传渠道和宣传方式
  • 长沙网站设计费用廊坊seo排名收费
  • 做汽车团购网站免费网站做seo
  • 给别人做网站打电话推销个人怎么接外贸订单
  • 常州城投建设工程招标有限公司网站常州谷歌推广
  • 南昌网站开发制作公司公关公司的主要业务
  • mac系统可以做数据库网站开发百度推广找谁
  • 网站如何做子域名常见的网站推广方式
  • 网站建设流程全网推广推荐
  • 网站关键词优化推荐贵阳方舟网络6百度图片搜索图片识别
  • 潼南网站建设百度推广的渠道有哪些
  • 建设银行官方网站客户资料修改推广网站有效的免费方法
  • thinkphp5来做网站吗西安百度百科
  • 国外推广网站一手渠道推广平台
  • 苏州市优化网站推广哪家好seo优化一般优化哪些方面
  • 网站开发给网站设置图标在什么文件中写代码长沙百度贴吧
  • 网站设计培训费用是多少江西短视频seo搜索报价
  • 上海市建设工程检测网seo优化的常用手法
  • 成品网站源码下载最新app推广项目平台
  • jsp企业网站开发前期报告seo是什么的