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

asp网站后台无法显示该页面京挑客网站建设

asp网站后台无法显示该页面,京挑客网站建设,成全看免费观看,怎样将网站建设后台装到云上相关阅读 C语言https://blog.csdn.net/weixin_45791458/category_12423166.html?spm1001.2014.3001.5482 指向数组的指针和指向数组元素的指针常常被混淆,或者笼统地被称为数组指针,但它们之间是有差别的,本文就将对此进行讨论。 下面的代码…

相关阅读

C语言icon-default.png?t=N7T8https://blog.csdn.net/weixin_45791458/category_12423166.html?spm=1001.2014.3001.5482


        指向数组的指针和指向数组元素的指针常常被混淆,或者笼统地被称为数组指针,但它们之间是有差别的,本文就将对此进行讨论。

        下面的代码首先创建了一个数组,然后创建了指向该数组的指针和指向该数组首元素的指针。

int arr[] = {0,1,2};
int *ptr0 = arr;     //创建了一个int型指针,指针值为数组首元素地址
int *ptr1 = &arr[0]; //创建了一个int型指针,指针值为数组首元素地址
int (*ptr2) = &arr;  //创建了一个int型数组指针,指针值为整个数组的地址

        上面的三个指针,其实指针值都是一样的,即三个常量arr==&arr[0]==&arr(尽管这看起来有点奇怪),那他们有什么区别呢?

  • &arr[0]与arr对于编译器来说没有任何区别,因此ptr0和ptr1两个指针的各种性质都是一样的。
  • &arr这个常量值虽然与其他两者相同,但是对编译器而言,它代表了整个数组的地址,因此当&arr与其他数加减时,会将其他数转化为以数组的字节数为单位的地址值,对于指针ptr2来说也是如此。
int arr[] = {0,1,2};
//下面两条语句等价
int *ptr0 = arr;      //创建了一个int型指针,指针值为数组首元素地址
int *ptr1 = &arr[0];  //创建了一个int型指针,指针值为数组首元素地址
int (*ptr2) [3] = &arr; //创建了一个int型数组指针,指针值为整个数组的地址printf("arr is %p\n", arr);
printf("arr + 1 is %p\n", arr + 1);
printf("&arr[0] is %p\n", &arr[0]);
printf("&arr[0] + 1 is %p\n", &arr[0] + 1);
printf("&arr is %p\n", &arr);
printf("&arr + 1 is %p\n", &arr + 1);printf("ptr0 is %p\n", ptr0);
printf("ptr0 + 1 is %p\n", ptr0 + 1);
printf("ptr1 is %p\n", ptr1);
printf("ptr1 + 1 is %p\n", ptr1 + 1);
printf("ptr2 is %p\n", ptr2);
printf("ptr2 + 1 is %p\n", ptr2 + 1);输出:
arr is         000000000061FDFC
arr + 1 is     000000000061FE00
&arr[0] is     000000000061FDFC
&arr[0] + 1 is 000000000061FE00
&arr is        000000000061FDFC
&arr + 1 is    000000000061FE08
ptr0 is        000000000061FDFC
ptr0 + 1 is    000000000061FE00
ptr1 is        000000000061FDFC
ptr1 + 1 is    000000000061FE00
ptr2 is        000000000061FDFC
ptr2 + 1 is    000000000061FE08

         可以看到arr、&arr[0]、&arr、ptr0、ptr1、ptr2的值都是相同的,但是arr、&arr[0]、ptr0、ptr1加1在编译后对地址值加了4,因为int类型占4字节的空间;&arr、ptr2加1在编译后对地址值加了12,因为数组含有三个int类型的数据,因此数组占12字节的空间。

        指向数组的指针在使用多维数组时常见,如下所示。

int arr[2][2] = {{0,1},{2,3}}; //创建一个多维数组int (*ptr0) [2][2] = &arr; //创建了一个int型二维数组指针,指针值为二维数组的地址 
//下面两条语句等价
int (*ptr1) [2] = arr;     //创建了一个int型一维数组指针,指针值为两个数组中第一个数组的地址 
int (*ptr2) [2] = &arr[0]; //创建了一个int型一维数组指针,指针值为两个数组中第一个数组的地址
int *ptr3 = arr[0];        //创建了一个int型指针,指针值为两个数组中第一个数组的首元素地址
int *ptr4 = &arr[0][0];    //创建了一个int型指针,指针值为两个数组中第一个数组的首元素地址printf("ptr0 is %p\n", ptr0);
printf("ptr0 + 1 is %p\n", ptr0 + 1);
printf("ptr1 is %p\n", &arr[0]);
printf("ptr1 + 1 is %p\n", ptr1 + 1);
printf("ptr2 is %p\n", ptr2);
printf("ptr2 + 1 is %p\n", ptr2 + 1);
printf("ptr3 is %p\n", ptr3);
printf("ptr3 + 1 is %p\n", ptr3 + 1);
printf("ptr4 is %p\n", ptr4);
printf("ptr4+ 1 is %p\n", ptr4 + 1);输出:
ptr0 is     000000000061FDE0
ptr0 + 1 is 000000000061FDF0
ptr1 is     000000000061FDE0
ptr1 + 1 is 000000000061FDE8
ptr2 is     000000000061FDE0
ptr2 + 1 is 000000000061FDE8
ptr3 is     000000000061FDE0
ptr3 + 1 is 000000000061FDE4
ptr4 is     000000000061FDE0
ptr4+ 1 is  000000000061FDE4

        可以看到,即使ptr0、ptr1、ptr2、ptr3的值都是一样的,ptr0+1在编译后对地址值加了16(二维数组占4个字节空间),ptr1+1和ptr2+1在编译后对地址值加了8(一维数组占8个字节空间),ptr3+1在编译后对地址值加了4(int类型占4个字节空间)。

        相信通过本文,读者应该对指向数组的指针和指向数组元素的指针有了充分的认识,并可以在之后的编程中得心应手的运用指针了。

http://www.yayakq.cn/news/376453/

相关文章:

  • 啥是东莞网站优化推广网站与系统开发
  • php和mysql网站毕业设计怎么建设自己的一个服务器网站
  • 用微信微博网站来做睡眠经济如何运营自己的网店
  • 画册什么网站做方便手表大全网站
  • 网站设计哈尔滨快速制作网站
  • 如何建设网站知乎房地产最新消息房价会涨吗
  • flash网站开发框架网页设计个人
  • 企业网站排名关键深圳网页设计兴田德润专业
  • 怎么做本地婚姻介绍网站手机怎么做3d短视频网站
  • 网站关于我们介绍模板做网站卖机器怎么弄
  • 使用vue做商城网站项目难点海南微信网站制作平台
  • 网站找哪家做较好做网站 外文参考文献
  • 建立的网站打开空白跨境o2o网站建设方案
  • 京东网站的公司全名郑州做网站琴
  • 免费织梦导航网站模板下载贵州百度竞价网页设计
  • 什么是优化型网站wordpress图片地址
  • 设计用哪些网站有哪些功能青海省城乡建设信息官官方网站
  • 哪个网站注册域名便宜有域名一定要买空间做网站
  • 安徽网站建设开发网站的建设需要考虑什么问题
  • 怎么给网站做缓存网站首页设计一般包括那三个
  • 深圳 网站开发公司大理建网站
  • 如何建立网站视频wordpress插件安装教程
  • 寻找网站制作公司五大门户网站
  • 郑州网站推广优化12580黄页推广
  • 广州品牌建站广州品牌建站代理公司是干什么的
  • 网站做淘客媒体查询做响应式网站有哪些
  • 打开一个不良网站提示创建成功建设网站技术数据策划书
  • 网站建设描述书长沙专业建设网站企业
  • 建设微信营销网站制作wordpress本地 域名绑定
  • 怎么样建立学校网站wordpress 分类文章列表分页