C语言中如何求数组真实存有数据的元素个数

C语言中如何求数组真实存有数据的元素个数,第1张

这个是比较容易解决的,这是我把楼主的程序略加修改后的代码:

# include <stdioh>

# include <stdlibh>

# include <timeh>

int main()

{

int a[100];

int n;

int i;

int len=0; //此行给len初始化;

scanf("%d",&n);

for(i=0;i<n;i++)

{

a[i] = i;

++len; /此处算是这个程序里面求数组a实际长度的要点了,

每循环一次,len的值就加1(从初始值0开始加的),所以当循环n次后,len就记下了数组的长度!/

}

//len = (sizeof(a)/sizeof(a[0]));因为只是为了让len表示数组a的值,所以为了求len不必采用这样的方法;

printf("%d\n",len);//加个换行符输出时看的明显些;

}

这是我自己运行的结果,楼主可以自己运行着看看,这样输出的结果就是数组a的实际长度了:

楼主还有什么疑问可以尽情问,还有,以后若是想求一个数组的实际长度,且这个数组是字符数组时,楼主只需要在头文件中包含#include<stringh>后,就可以在求字符数组的实际长度时;用语句  int len;    //用于存储字符的实际长度;

len=strlen(a),其中a是要求的字符数组的名称,不必加下标;很方便的,希望能帮到楼主哦。

C语言字符串数组中的每一个元素均为指针,即有诸形如“ptr_array[i]”的指针。由于数组元素均为指针,因此ptr_array[i]是指第i+1个元素的指针。

例:如二维指针数组的定义为:char ptr_array[3]={{"asdx","qwer","fdsfaf"},{"44444","555","6666"},{"a78x","q3er","f2f"}};

扩展资料

字符串数组数组元素表示方法:

数组元素的一般形式为:数组名[下标] 其中的下标只能为整型常量或整型表达式。如为小数时,C编译将自动取整。

例如,a[5],a[i+j],a[i++]都是合法的数组元素。数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。在C语言中只能逐个地使用下标变量, 而不能一次引用整个数组。

参考资料来源:百度百科—指针数组

将数组转换成List<T>后,利用List<T>Insert实现插入新元素。方法如下:

using System;

using SystemCollectionsGeneric;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

int[] x = { 1, 2, 3, 4 };

ConsoleWriteLine("插入前");

PrintArray(x);

try

{

x = InsertNumber(x, 10, 4);

ConsoleWriteLine("在 Index=4 处插入10后");

PrintArray(x);

x = InsertNumber(x, 100, 0);

ConsoleWriteLine("在 Index=0 处插入100后");

PrintArray(x);

}

catch (Exception e)

{

ConsoleWriteLine(eMessage);

}

}

/// <summary>

/// 将value 插入到指定数组的指定的位置

/// </summary>

/// <param name="a">指定数组</param>

/// <param name="value">待插入的元素</param>

/// <param name="index">插入的位置</param>

/// <returns>插入后的数组</returns>

static int[] InsertNumber(int[] a, int value, int index)

{

try

{

//转换成List<int>集合

List<int> list = new List<int>(a);

//插入

listInsert(index, value);

//从List<int>集合,再转换成数组

return listToArray();

}

catch (Exception e)  // 捕获由插入位置非法而导致的异常

{

throw e;

}

}

/// <summary>

/// 打印数组

/// </summary>

static void PrintArray(int[] a)

{

foreach (int x in a)

{

ConsoleWrite("{0} ", x);

}

ConsoleWriteLine();

}

}

}

对于字符数组str[N],判断方法有以下三种:
第一种:用库函数strlen
len = strlen(str); // 数组长度
第二种:利用计数器
int i=0;
while(str[i++] != '\0'); // 数组str的长度为i
第三种:利用sizeof函数
len = sizeof(str)/sizeof(str[0]); // 数组长度对于其他类型的数组,都可以用字符数组的第三种方法,第三种方法是通用的。

通过数组的length属性获取

示例:

String[] arr = {"1","2"};//定义一个数组
int len = arrlength;//获取数组长度,这里获取到的长度是2

数组中的元素个数length是数组类中唯一的数据成员变量。使用new创建数组时系统自动给length赋值。数组一旦创建完毕数组大小就固定下来。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13374591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存