clwn.net
当前位置:首页 >> 数组长度 >>

数组长度

#include <stdio.h>#include <string.h> int main() { int i; char s[]="1234"; //两种方法,一是直接调用函数strlen,一是直接计算,计算值会多1 //因为多了个数组结尾符'\0\' printf("长度是:%d %d\n",strlen(s),sizeof(s)/sizeof(char)); //结果是4,5 for(i=0;i<strlen(s);i++)//遍历访问数组时,用strlen(s)作为长度限定输出即可. printf("%c",s[i]); printf("\n"); return 0; }

数组长度是10 字符串长度是2 不是你混淆了,就是书混淆了 字符串长度,从下标0开始,到'\0'终止,不计算终点的0终止符

数组长度就是你要为数组分配的内存空间数

整形数组大小:sizeof(数组名)/sizeof(数组类型).字符数组大小:strlen(数组名)+1,1因为要加上'/0',所以再加1.

string[] a=new string[50]; a数组的长度就是50;就是说数组内元素的个数.

一、静态一维数组,在定义的时候就已经确定其长度.如1 int a[10]; 就是定义了一个长度为10个元素的整型数组.静态数组不支持长度的增加.如果要增加长度,只能新定义一个更长的数组,并把原始数组的数据复制到新数组中.二、动态一维数组,本质上是一个一维指针,并在其上分配一段内存,在这段内存上,可以当做数组来使用.这种情况下,可以通过realloc函数,来实现增加长度.int *p; //定义指针p = malloc(10*sizeof(int));//分配10个元素.p = realloc(p,20*sizeof(int));//重新分配,长度增加到20. 使用该函数,可以保持原本空间内的数据不变,只是可用空间增加.

int data[]={1,2,3,4,5}; printf("%d",sizeof(data)/sizeof(int));

可以使用c本身有的函数啊!!首先说明一点,关于数组的长度有在定义时给出的长度,但定义时的长度不一定都用完,很可能有好多空间没有用到,此时就有实际长度的概念;比如:int s[10]; s[10]={1,2,3,4,5,6}; 定义整型数组s的长度是10,但

数组的大小是指数数组中存储的数据的数量,或数组的长度,数组大小一旦确定就不能改变. 数组长度必须在编译时确定,您可以使用malloc函数在程序运行时动态分配所需的“数组”长度.定义一个数组需要指定数组的长度,系统会为这个长

你的两个数组的长度都是 80.如果不是动态开辟的数组,你声明的时候给多少长度就是多少长度.第二个数组的长度是2?估计你使用 strlen 函数求吧? strlen只能求字符串长度,没办法求数组长度.strlen 是用 '\0' 来判断字符串的结束标志的,而你第二个数组中放置了几个'\0' (ascii码为0,),所以得到的长度是 2.将第二个数组改为char m[80]={'1','1','0','1','0','0','0'}; 用 strlen 求得结果为 7.求数组长度的正确方法:sizeof(mes)/sizeof(int); sizeof(mes)/sizeof(char)

bnds.net | qwfc.net | xaairways.com | qhnw.net | acpcw.com | 网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com