`
默默pig
  • 浏览: 53327 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

判断一个数组实际所存元素的个数

 
阅读更多

       在C语言中,对于字符型数组,可以直接使用strlen函数(函数头:<string.h>  格式:strlen(数组),返回一个int值)得出数组实际存储的元素个数,但如果是其它类型,就不能。但当其它类型的数组存满时,也可以通过sizeof函数间接得出:数组存满时的元素个数 = sizeof(数组名)/sizeof(数组类型或一个该类型变量)。sizeof函数是一个计算对象空间大小的函数,它的参数可以是类型,也可以是变量。下面以你的问题为例:
#include<stdio.h>
int main(void)
{
    int a[3] = {1,2,3};
    printf("数组的元素的个数为:%d\n ",sizeof(a)/sizeof(int));

    /*或printf("数组的元素的个数为:%d\n ",sizeof(a)/sizeof(a[0]));*/
return 0;
}

分享到:
评论

相关推荐

    C语言程序设计标准教程

    一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。  本章介绍数值数组和字符数组,其余...

    javascript入门笔记

    Javascript Basic 1、Javascript 概述(了解) ... 调用函数时,所传递的参数列表,称之为"实参(实际参数)" 3、练习 1、定义一个函数 change ,该函数中接收两个参数(a,b) 2、在函数体中,如果 a 大于 b的话...

    上海电机学院C语言实训答案

    (1)编写一个程序实现如下功能:一个整型数组有10个元素,删除所有值为n的元素。要求: ① 主函数完成n的输入,数组元素输入以及删除后数组元素的输出。 ② 删除功能用子函数完成。 (2)编写一个程序实现如下功能...

    数据结构第二次作业解答.docx

    以数组Q[0..m-1]存放循环队列中的元素,变量rear和qulen分别指示循环队列中队尾元素的实际位置和当前队列中元素的个数,队列第一个元素的实际位置是( ) 选择一项: a. rear-qulen+m b. rear-qulen c. m-...

    计算机二级公共基础知识

    在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。例如,在图1-1中,根结点A和结点B的度为2,结点C的度为1,叶子结点D,E,F的度为0。所以,该树的度为2。 深度 定义一棵树的...

    javascript学习笔记.docx

    数组的元素可以具有任意类型,甚至是另外一个数组。同一数组中可以存在不同类型的元素。数组的length是可读写的。这也是缩短一个数组的唯一方法。 2 客户端JavaScript 2.1 Window类 1) Window类的实例是全局对象,...

    数据结构(C++)有关练习题

    内容及步骤: 1、 设有一个线性表(e0,e1,e2,e3,…,en-2,en-1)存放在一个一维数组A[arraySize]中的前n个数组元素位置。请编写一个函数将这个线性表原地逆置,即将数组的前n个原地址内容置换为(en-1,en-2,…,e3,...

    《C#经典编程220例》.(明日科技).【带书签】-共3部分

    实例045 在数组中添加一个元素 72 实例046 在数组中添加一个数组 73 实例047 计算两个矩形矩阵的乘积 75 实例048 获取多维数组的行数与列数 78 实例049 使用快速排序法对一维数组进行排序 79 实例050 使用sort方法...

    明日科技C#开发入门及项目实战

    实例045 在数组中添加一个元素 实例046 在数组中添加一个数组 实例047 计算两个矩形矩阵的乘积 实例048 获取多维数组的行数与列数 实例049 使用快速排序法对一维数组进行排序 实例050 使用sort方法对数组进行快速...

    你必须知道的495个C语言问题

    第1章 声明和初始化 ...6.23 sizeof返回的大小是以字节计算的,怎样才能判断数组中有多少个元素呢? 第7章 内存分配 基本的内存分配问题 7.1 为什么这段代码不行?char*answer;printf("Typesomething...

    《你必须知道的495个C语言问题》

    1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 13 声明问题 14 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 14 *1.26 main的正确...

    基于c++数字逻辑电子仿真器

    采用一个全局数组CArray,CPoint&gt; numpoint来记录结点前序号。 if(Subtype==Input) { //当创建Input时加入点到numpoint数组中 numpoint.Add (CPoint(point.x-15,point.y)); pNode-&gt;number =numpoint.GetSize ...

    语言程序设计课后习题答案

    从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的,也可以是无形的。对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征。面向对象方法中的对象,是系统中用来描述客观事物的一个...

    RFID数据流近似去重

    考虑TIBF如何保持每个单元的开始和结束时间,一个简单的解释是,假定哈希函数的个数为1,TIBF的每一个单元对应一个标签,当RFID数据x(TagID=1)首先到达时,设置TagID=1对应单元的开始和结束时间为x.time,也就是...

    《数据结构 1800题》

    8. 一个算法具有 5个特性: (1)有穷性 、 (2)确定性 、 (3)可行性 ,有零个或多个输入、有一个或多个输出。 《数据结构 1800题》 9.已知如下程序段 FOR i:= n DOWNTO 1 DO {语句 1} BEGIN x:=x+1;...

    Excel公式与函数大辞典.宋翔(带书签高清文字版).pdf

    4.2.3 OR——判断多个条件中是否至少有一个条件成立 155 4.2.4 XOR——判断多个条件中是否有一个条件成立 156 4.2.5 IF——根据条件判断而返回不同结果 156 4.2.6 IFNA——判断公式是否出现#N/A错误 158 4.2.7 ...

Global site tag (gtag.js) - Google Analytics