C 数组的初始化方法详解,数据名内涵为数组这种数据结构,在arrayTest函数体内,str是数组名,那为什么sizeof的结果却是指针的长度?这是因为:

(1)数组名作为函数形参时,在函数体内,其失去了本身的内涵,仅仅只是一个指针;

(2)很遗憾,在失去其内涵的同时,它还失去了其常量特性,可以作自增、自减等操作,可以被修改。

先看数组初始化

#include

using std::cout;

using std::endl;

#include

using std::setw;

int main()

{

int n[ 10 ];

for ( int i = 0; i < 10; i )

n[ i ] = 0;

for ( int j = 0; j < 10; j )

cout << n[ j ] << endl;

return 0;

}

输出结果

0

0

0

0

0

0

0

0

0

0

初始化一个数组

#include

using std::cout;

using std::endl;

#include

using std::setw;

int main()

{

int n[ 10 ] = { 2, 7, 4, 8, 5, 4, 9, 7, 6, 3 };

for ( int i = 0; i < 10; i )

cout << n[ i ] << endl;

return 0;

}

静态数组将被初始化为0

#include

using std::cout;

using std::endl;

void staticArrayInit( void );

void automaticArrayInit( void );

int main()

{

staticArrayInit();

automaticArrayInit();

staticArrayInit();

automaticArrayInit();

return 0;

}

void staticArrayInit( void )

{

static int array1[ 3 ];

for ( int i = 0; i < 3; i )

cout << "array1[" << i << "] = " << array1[ i ] << "  ";

for ( int j = 0; j < 3; j )

array1[ j ] = 0;

}

void automaticArrayInit( void )

{

int array2[ 3 ] = { 1, 2, 3 };

for ( int i = 0; i < 3; i )

cout << "array2[" << i << "] = " << array2[ i ] << "  ";

for ( int j = 0; j < 3; j )

array2[ j ] = 0;

}

结果

array1[0] = 0  array1[1] = 0  array1[2] = 0  array2[0] = 1  array2[1] = 2  array

2[2] = 3  array1[0] = 0  array1[1] = 0  array1[2] = 0  array2[0] = 1  array2[1]

= 2  array2[2] = 3

c语言 初始化数组,C 数组的初始化方法详解相关推荐

  1. php 去重_php求两数组交集的四种方法详解

    题目:给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1],nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5 ...

  2. TIA博途中数组Array的基本使用方法详解

    TIA博途中数组Array的基本使用方法详解 ARRAY类型是由数目固定且数据类型相同的元素组成的数据结构. ARRAY类型的定义和使用需要注意以下几点: • ARRAY类型可以在DB.OB/FC/F ...

  3. python语言格式化输出_Python format()格式化输出方法详解

    原标题:Python format()格式化输出方法详解 format() 方法的语法格式如下: str.format(args) 此方法中,str 用于指定字符串的显示样式:args 用于指定要进行 ...

  4. java 两个数组去重复数据_Java实现数组去除重复数据的方法详解

    本文实例讲述了Java实现数组去除重复数据的方法.分享给大家供大家参考,具体如下: 前一段时间被面试问到:如果一个数组中有重复元素,用什么方法可以去重?一时间会想到用一种方法,但是后来查阅资料后发现, ...

  5. php ajax向后台怎么传数组,利用ajax传递数组及后台接收的方法详解

    这篇文章主要给大家介绍了关于利用ajax传递数组及后台接收的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们一起来学习学习吧. 前言 我们在使用ajax异步的提交多选框得到需要 ...

  6. c语言 数字分离编程,C++ 整数拆分方法详解

    一.问题背景 整数拆分,指把一个整数分解成若干个整数的和 如 3=2+1=1+1+1 共2种拆分 我们认为2+1与1+2为同一种拆分 二.定义 在整数n的拆分中,最大的拆分数为m,我们记它的方案数为 ...

  7. pythonprint字节按照16进制输出_对python以16进制打印字节数组的方法详解

    对python以16进制打印字节数组的方法详解 一.问题描述 如果直接用print打印bytes的话,有时候会直接显示ascii对应的字符,看起来很蛋疼. 二.运行效果 上面一行是直接用print打印 ...

  8. ES5和ES6数组遍历方法详解

    ES5和ES6数组遍历方法详解 在ES5中常用的10种数组遍历方法: 1.原始的for循环语句 2.Array.prototype.forEach数组对象内置方法 3.Array.prototype. ...

  9. Python Numpy多维数组.sum(axis=0/1/2...) 详解

    Python Numpy多维数组.sum(axis=0/1/2-) 详解 numpy中axis取值的说明 首先对numpy中axis取值进行说明:一维数组时axis=0,二维数组时axis=0,1,维 ...

最新文章

  1. 机器学习和计算机视觉的前20个图像数据集
  2. 调试linux内核前的多虚拟机网络配置(图文教程)
  3. SAP Spartacus产品明细页面用Observable显示产品名称
  4. 我是如何一步步的在并行编程中将lock锁次数降到最低实现无锁编程
  5. 开发app用户协议_APP软件开发如何让用户更开心地付钱?
  6. 【温故知新】——原生js中常用的四种循环方式
  7. 管理系统 c++图形界面_锁螺母ERP系统,一站式各国语言管理系统
  8. 深度技术win11 64位正版系统v2021.07
  9. 服务器后还有一系列留后门,服务器留隐蔽后门
  10. 手机号,银行卡号等自动分组显示的输入框
  11. 现在大家都使用支付宝和微信支付,为何银行还准备大量的现金?
  12. 【ACL2021】分享三篇值得推荐的情感分析文章 -- 风格分析、幽默计算、情感类别...
  13. 网站服务器中病毒或被***怎么办?
  14. 办公实用资源网站分享,每一款都能让你升职加薪
  15. Python实现BP神经网络ANN单隐层分类模型项目实战
  16. cancase vector_低價替代Vector CANoe CAN總線適配解決方案支持所有USBCAN(周立功CAN、PCAN、Kvaser、ValueCAN、NI CAN)...
  17. 老鼠试药——二进制算法
  18. 微信公众号的7个未来
  19. 3月份GitHub上最热门的JavaScript开源项目(下)
  20. 人人都是公司分析专家 市值 股价 估值

热门文章

  1. html插入flash时钟,自制FLASH时钟代码生成器和flash音画html代码在线生成器
  2. 华为云云速建站,助力企业搭建网站省心又省力
  3. strlen函数的使用
  4. 数据包分析技术与网络基础
  5. 论文笔记——Aggregated Residual Transformations for Deep Neural Networks(ResNeXt)
  6. 《火星人敏捷开发手册2012-08-15》版发布:用户故事分类及示例
  7. 计算机竞赛辅导培训计划,信息学奥赛培训计划.pdf
  8. android pdfview 显示目录,Android 查看pdf文档——PDFView
  9. 基于高速51单片机的模拟USB接口设计
  10. 求坐标轴上的点与点之间的距离