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

wordpress登录qq湖南竞价优化专业公司

wordpress登录qq,湖南竞价优化专业公司,今日军事新闻最新消息新闻报道,河南网站建设app开发文章目录 1. 函数声明数组参数2. 数组初始化方式2.1 静态初始化2.2 自动变量初始化 2.2 字符数组的初始化 1. 函数声明数组参数 下面两个函数原型是一样的: int strlen( char *string ); int strlen( char string[] );可以使用任何一种声明,但哪个“更…

文章目录

  • 1. 函数声明数组参数
  • 2. 数组初始化方式
    • 2.1 静态初始化
    • 2.2 自动变量初始化
  • 2.2 字符数组的初始化

1. 函数声明数组参数

下面两个函数原型是一样的:

int strlen( char *string );
int strlen( char string[] );
  • 可以使用任何一种声明,但哪个“更加准确”呢?

答案是指针。因为实参实际上是个指针,而不是数组。同样,表达式sizeof string的值是指向字符的指针的长度,而不是数组的长度。

  • 为什么函数原型中的一维数组形参无需写明它的元素数目?

因为函数并不为数组参数分配内存空间。形参只是一个指针,它指向的是已经在其他地方分配好内存的空间。这个事实解释了为什么数组形参可以与任何长度的数组匹配——它实际传递的只是指向数组第1个元素的指针。另一方面,这种实现方法使函数无法知道数组的长度。如果函数需要知道数组的长度,它必须作为一个显式的参数传递给函数

2. 数组初始化方式

数组初始化的方式类似于标量变量的初始化方式——也就是取决于它们的存储类型。

2.1 静态初始化

存储于静态内存的数组只初始化一次,也就是在程序开始执行之前。程序并不需要执行指令把这些值放到合适的位置,它们一开始就在那里了。这个魔术是由链接器完成的,它用包含可执行程序的文件中合适的值对数组元素进行初始化。如果数组未被初始化,数组元素的初始值将会自动设置为零。当这个文件载入到内存中准备执行时,初始化后的数组值和程序指令一样也被载入到内存中。因此,当程序执行时,静态数组已经初始化完毕。

2.2 自动变量初始化

由于自动变量位于运行时堆栈中,执行流每次进入它们所在的代码块时,这类变量每次所处的内存位置可能并不相同。在程序开始之前,编译器没有办法对这些位置进行初始化。所以,自动变量在缺省情况下是未初始化的。如果自动变量的声明中给出了初始值,每次当执行流进入自动变量声明所在的作用域时,变量就被一条隐式的赋值语句初始化。这条隐式的赋值语句和普通的赋值语句一样需要时间和空间来执行。数组的问题在于初始化列表中可能有很多值,这就可能产生许多条赋值语句。对于那些非常庞大的数组,它的初始化时间可能非常可观。

  • 如何选择初始化方式:静态初始化 or 自动变量初始化?

这个问题等同于问:当数组的初始化局部于一个函数(或代码块)时,在程序的执行流每次进入该函数(或代码块)时,每次都对数组进行重新初始化呢。如果答案是否定的,你就把数组声明为static,这样数组的初始化只需在程序开始前执行一次。

2.2 字符数组的初始化

字符数组初始化的时候可以是这样:

char message[] = { 'H', 'e', 'l', 'l', 'o', 0 };

这个方法当然可行。但除了非常短的字符串,这种方法确实很笨拙。因此,语言标准提供了一种快速方法用于初始化字符数组:

char message[] = "Hello";

尽管它看上去像是一个字符串常量,实际上并不是 。它只是前例的初始化列表的另一种写法。

  • 如何分辨字符串常量和这种初始化列表快速记法呢?

它们是根据它们所处的上下文环境进行区分的。
①当用于初始化一个字符数组时,它就是一个初始化列表
②在其他任何地方,它都表示一个字符串常量

char message1[] = "Hello";
char *message2 = "Hello";

这两个初始化看上去很像,但它们具有不同的含义。前者初始化一个字符数组的元素,而后者则是一个真正的字符串常量。这个指针变量被初始化为指向这个字符串常量的存储位置,如下图所示:

在这里插入图片描述

参考

  1. 《C和指针》
http://www.hrbkazy.com/news/163.html

相关文章:

  • 网站开发需要经过的几个主要阶段太原百度搜索排名优化
  • 旅游网站建设的摘要培训机构排名全国十大教育机构排名
  • 国际设计师网站有哪些网站推广方案模板
  • #NAME?黑帽seo教程
  • 做网站ui去哪儿接私活郑州网站推广公司哪家好
  • 北京seo网站内部优化免费影视软件靠什么赚钱
  • 网站app有哪些功能2021年关键词排名
  • 上海网站建设企天津关键词优化网排名
  • 上海app网络推广公司电话5年网站seo优化公司
  • postgresql做网站用什么环境网站seo优化是什么意思
  • 石家庄网站定做网络营销代运营外包公司
  • 电脑课要求的网站怎么做百度seo排名培训
  • 建设一个大型网站大概费用企业网站优化排名
  • 手机网站开发框架企业培训课程表
  • 阿里巴巴做企业网站西安网站建设公司十强
  • 个人接做网站多少钱搭建网站教程
  • 做网站如何躲过网警杭州百度代理公司
  • 网站结构有哪些类型东营网站建设哪家更好
  • 网站的页面动态需要哪些方法做济南优化seo公司
  • 莆田做网站建设建个网站费用大概多少钱一年
  • 织梦cms网站迁移广告联盟自动挂机赚钱
  • 做网站和优化共多少钱?现在做网络推广好做吗
  • 公司网站维护方案网络推广的概念
  • 北京市西城区社会建设网站企业关键词推广
  • 承德平台长春网站优化平台
  • 从网络安全角度考量_写出建设一个大型电影网站规划方案泰安百度推广电话
  • 有了域名空间服务器怎么做网站seo查询源码
  • 无锡网站建设制作公司搜狗推广登陆
  • 微网站与微信网站外贸网站
  • 白银市建设网站广西seo关键词怎么优化