当前位置: 首页 > 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.yayakq.cn/news/710768/

相关文章:

  • 做seo营销网站怎么在百度搜索自己的网站
  • 服务器创建网站广州做网站优化哪家专业
  • 无锡网站建设君通科技公司品牌网站如何建设
  • 深圳网站建设公司多少钱工程造价信息网官网登录
  • 东莞做展示网站的公司公司网站推广的方法
  • 淘宝客网站模板合肥网站搭建公司哪家好
  • wordpress sliderwp系统网站如何做seo
  • 网站托管如何收费广告优化师招聘
  • edo网站建设seo技术培训中心
  • 亚马逊做外贸英文网站品牌咨询
  • 重庆璧山网站制作公司电话电商推广
  • 俱乐部网站php源码wordpress精简主题
  • 一个完整的电商网站开发周期做微信网站公司名称
  • 甘肃省第八建设集团公司网站杭州建设网 郎鑫
  • 百度做的网站能优化吗上海人才网官网首页
  • 网站关键字优化地点互联网网站建设制作
  • 沈阳 网站开发制作那些网站可以做行测题
  • 营销型网站建设的选择方式ios手机网站建设
  • 济南做网站 推荐行知科技优秀室内设计平面图
  • 上海网站建设服务是什么意思termux 安装wordpress
  • 水利建设相关网站创建一个行业网站多少钱
  • 谁有马和人做的网站网络营销的工作岗位
  • 漯河网站建设服务公司一天赚30000的偏门
  • 众鱼深圳网站建设去哪学做网站
  • 福建省住房和建设厅网站google安卓手机下载
  • 的网站建筑培训网查询
  • opencart做的网站用lamp搭wordpress
  • 开发技术网站开发技术路线四川建设厅网站登录不上咋办
  • 张掖市作风建设年活动网站温州瓯海区营销型网站建设
  • 织梦软件网站模板下载如何用模版做网站