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

昆明市建设厅官方网站济南今日头条新闻

昆明市建设厅官方网站,济南今日头条新闻,滨州市网站建设,建设电子商务网站的方法有答案:不一样。 哪里不同? 数组名:数组名的值是一个指针常量,也就是数组第一个元素的地址。 它的类型取决于数组元素的类型:如果他们是int类型,那么数组名的类型就是“指向int的常量指针”;如果…

答案:不一样。


哪里不同?

数组名:数组名的值是一个指针常量,也就是数组第一个元素的地址

它的类型取决于数组元素的类型:如果他们是int类型,那么数组名的类型就是“指向int的常量指针”;如果它们是其他类型,那么数组名的类型也就是“指向其他类型的常量指针”。

总结1:数组名是一个指针常量,不可简单的认为是个指针。它始终指向第一个元素的地址。


那么数组在什么情况下不能作为指针常量呢?

在以下两种场景下:

  • 当数组名作为 sizeof操作符 的操作数的时候,此时sizeof返回的是整个数组的长度,而不是指针数组指针的长度。
  • 当数组名作为 &操作符 的操作数的时候,此时返回的是一个指向数组的指针而不是指向某个数组元素的指针常量

!除了以上两点之外,数据名在其他任何情况下都是指向首元素的指针

更进一步解释:

    指针和数组并不是相等的。为了说明这个概念,请考虑下面两个声明:    

int a[10];
int *b;
  • 声明一个数组时,编译器根据声明所指定的元素数量为数组分配内存空间,然后再创建数组名指向这段空间的起始位置
  • 声明一个指针变量的时候,编译器只为指针本身分配内存空间,并不为任何整型值分配内存空间,指针并未初始化指向任何现有的内存空间

因此,表达式*a是完全合法的,但是表达式*b却是非法的。*b将访问内存中一个不确定的位置,将会导致程序终止。

  • 另一方面b++可以通过编译,a++却不行,因为a是一个常量值。

 

void test01()
{int arr[] = { 1, 2, 3, 4 };//1. sizeof  2.对数组名取地址&arr//以上两种情况下,数组名不是指向首元素的指针//以上两种请款下,数组名是数组类型//!除了以上两点之外,数据名在其他任何情况下都是指向首元素的指针//sizeof 可以不加括号,它是c语言关键字printf("sizeof arr:%d\n", sizeof arr);printf("&arr addr : %d\n", &arr);printf("&arr + 1 addr : %d\n", &arr + 1);   // 数组指针类型:地址直接加了一个数组的长度16字节。相当于类型+1。int *p = arr;//数组名是一个常量指针//arr = NULL;//数组下标能否是负数?//可以是负数p += 3;printf("p[-1]:%d\n", p[-1]);//他们等价printf("p[-1]:%d\n", *(p - 1));//数组指针类型和数组首元素指针类型}
//如何定义一个可以指向数组的指针
void test02()
{int arr[5] = { 1, 2, 3, 4, 5 };//1. 我们先定义数组类型,再定义数组指针类型typedef int(ARRAY_TYPE)[5];  //typedef unsigned int u32ARRAY_TYPE myarray; // int myarray[5];//for (int i = 0; i < 5; ++i){myarray[i] = 100 + i;}for (int i = 0; i < 5; ++i){printf("%d " ,myarray[i]);}//对数组名取地址代表指向整个数组的指针ARRAY_TYPE *pArray = &myarray;pArray = &arr;//1. *pArray 表示拿到pArray指针指向的整个数组//2. *pArray类型就是数组名,指向首元素类型的指针printf("\n*(*pArray + 1) : %d\n", *(*pArray + 1));//2. 直接定义数组指针类型typedef int(*ARRAY_POINTER)[5];ARRAY_POINTER pArr = &arr;//3. 直接定义数组指针变量int(*pArrParam)[5] = &arr;}

http://www.tj-hxxt.cn/news/89916.html

相关文章:

  • b2c网站功能需求石家庄网络营销
  • 网站建设预算表网络营销外包推广
  • 漳州做网站配博大钱少a杭州百度快速排名提升
  • 性价比高的做网站公司关键词seo排名优化软件
  • 四川省住房和城乡建设厅网站是多少上海百度竞价点击软件
  • 住建培训网站广州引流推广公司
  • 聊天直播软件开发宁波seo在线优化方案
  • 网站推广策划的流程兰州疫情最新情况
  • 三合一网站建设永久免费域名申请
  • 网站开发实训报告网络推广属于什么行业
  • 做网站挣钱快吗百度问答平台
  • Wordpress嵌套其他网站百度一下生活更好
  • 香港网站备案查询如何解决网站只收录首页的一些办法
  • 二维码转链接百度seo推广计划类型包含
  • 白石龙做网站广州疫情已经达峰
  • 建设网站合同范本抖音seo教程
  • 珠海响应式网站建设网络营销的方式
  • 九龙坡网站建设多少钱深圳网站设计专家乐云seo
  • 网站的优化公司广州新一期lpr
  • 医学分类手机网站模版搜索引擎优化网站排名
  • 好看的网站设计公司百度公司官网首页
  • 请人做网站注意事项介绍网络营销
  • 发帖那个网站好 做装修的刚刚济南发通知
  • 网站建设中故障分类和排除方法google中文搜索引擎入口
  • 武汉网站seo公司技术营销方案网站
  • 万由nas做网站怎么开发一款app软件
  • 新乡做新网站上海做seo的公司
  • WordPress建站去掉后缀杭州优化外包哪里好
  • 专门做ppt的网站名称网络营销网络推广
  • 做毕业论文设计的网站千锋教育培训机构就业率