求数组的长度 C

对于数组array,计算其占用内存大小和元素个数的方法如下:

C/C++ code

?


1

2

3

4

5

//计算占用内存大小

sizeof(array)

//计算数组元素个数

sizeof(array) / sizeof(array[0])

参考: http://bbs.csdn.net/topics/390772318

时间: 2024-12-29 19:44:44

求数组的长度 C的相关文章

求数组中最长递增子序列的长度

个人信息:就读于燕大本科软件工程专业 目前大三; 本人博客:google搜索"cqs_2012"即可; 个人爱好:酷爱数据结构和算法,希望将来从事算法工作为人民作出自己的贡献; 编程语言:C++ ; 编程坏境:Windows 7 专业版 x64; 编程工具:vs2008; 制图工具:office 2010 powerpoint; 硬件信息:7G-3 笔记本; 真言 怒冲北京,为理想前行. 题目 解法 使用工具栈单枝遍历数组(思路源于工具栈可以双枝遍历二叉树的方法) 栈里存放的是数组的下

求数组长度sizeof

当数组当作参数传递时,它就退化成指针了,要求数组长度的话,可以在main函数内部求得 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> void fun(int arr[], int len) {     printf("---%d\n", sizeof(arr));     printf("---%d\n", sizeof(arr[0]));    printf("---len = %d

[算法]求数组中最长递增子序列长度

思路: 1.开辟数组L,L[i]记录的为a[0]~a[i]的最长递增子序列长度 2.开辟数组maxV,maxV[i]记录的为长度为i的各递增子序列的最后一个元素的最小值,譬如有子序列 1,2,4 1,2,5 则maxV[3] = 4 3.使用maxLen记录当前的最长递增子序列长度 4.转移方程: L[i+1] = max{1,L[j]+1] , a[i] > maxV[j] && j <= maxLen int LIS(int* a, int n){ int* maxV =

C陷阱:求数组长度

// 这是一篇导入进来的旧博客,可能有时效性问题. 程序中,当我们建立了一个int型数组:int a[]={1,2,3,4,5,6};随后我们可能需要知道它的长度,此时可以用这种方法:length = sizeof(a)/sizeof(a[0]); 这种方法很实用,但是能不能用一个自定义函数接收一个数组作为参数,求其长度呢?直觉上,我们可能会写出这样的程序: #include<stdio.h> int len(int a[]) { int len = sizeof(a)/sizeof(a[0]

0130 遍历数组:数组遍历、数组长度、注意点、求数组中的最大值等案例

1.4.1 数组遍历 ? 遍历:把数组中的每个元素从头到尾都访问一次(类似学生的点名),可以通过 for 循环索引遍历数组中的每一项. var arr = ['red','green', 'blue']; for(var i = 0; i < arr.length; i++){ console.log(arrStus[i]); } 1.4.2 数组的长度 数组的长度:默认情况下表示数组中元素的个数 使用"数组名.length"可以访问数组元素的数量(数组长度). var arrS

1、打印二进制机器码,程序内存分析,大端序小端序,指针数组,数组指针,数组的三种访问方式,typedef,#if-0-#endif,求数组大小,括号表达式

 1.打印二进制机器码(分别表示32位的和64位的) #include <stdio.h> /*按照8位的长度打印一个数值*/ void dis8bit(char val) { int bit = 8; while(bit--) { if(1<<bit&val){ printf("1"); } else { printf("0"); } if(!(bit%4)) printf(" "); } putchar(1

求数组中和为给定值的任意两个数

转载请注明出处:http://blog.csdn.net/ns_code/article/details/24933341     题目: 输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字.要求时间复杂度是O(n).如果有多对数字的和等于输入的数字,输出任意一对即可. 例如输入数组1.2.4.7.11.15和数字15.由于4+11=15,因此输出4和11.     思路: 最直接的做法是暴力法,两个for循环,时间复杂度为O(n*n),但是这样没有充

编程之美之2.14 求数组的子数组之和的最大值

[题目] 一个有N个整数元素的一维数组(A[0],A[1],A[2],...A[n-1]),这个数组中当然有很多子数组,那么子数组之和的最大值是多少? 该子数组是连续的. 我们先来明确一下题意: (1)子数组意味着是连续的. (2)题目只需要求和,并不需要返回子数组的具体位置. (3)数组的元素是整数,所以数组可能包含正整数,负整数或者零. 举几个例子: 数组:[1,-2,3,5,-3,2]返回8 数组:[0,-2,3,5,-1,2]返回9 数组:[-9,-2,-3,-5,-3]返回8 [解法一

求数组中最大子数组的和(1000)

成员:林彦汝.张金 题目: 返回一个整数数组中最大子数组的和. 要求: 要求程序必须能处理1000 个元素: 每个元素是int32 类型的: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值. (我主要负责程序分析,代码编程:张金负责代码复审,代码测试计划.) 思路: 通过第一次求一个一维数组中最大子数组的和,在此基础上我们做了扩展.前面在程序中我们固定了数组的长度,默认为5,而这次则按题目要求扩展到1000,定