判断一个数组的长度用 Length 还是 SizeOf ?最近发现一些代码, 甚至有一些专家代码, 在遍历数组时所用的数组长度竟然是 SizeOf(arr); 这不合适! 如果是一维数组.且元素大小是一个字节, 这样用看不出错误, 譬如:  -------------------------------------------------------------------------------- vararr1: array[0..9] of Char;arr2: array[0..9] o…
来源:https://blog.csdn.net/jay_zhouxl/article/details/51745518 int f(int *p,char *a) { printf("p[2]=%d,*(p+2)=%d\n",p[2],*(p+2)); printf("a[2]=%c,*(a+2)=%c\n",a[2],*(a+2)); printf("sizeof(p)=%d\n",sizeof(p)); printf("sizeo…
最近发现一些代码, 甚至有一些专家代码, 在遍历数组时所用的数组长度竟然是 SizeOf(arr); 这不合适! 如果是一维数组.且元素大小是一个字节, 这样用看不出错误, 譬如: var   arr1: ..] of Char;   arr2: ..] of Byte; begin   ShowMessageFmt('%d,%d,%d,%d',[Length(arr1), SizeOf(arr1),                                 Length(arr2), S…
C/C++的sizeof在动态分配内存时经常用到,但之前一直没怎么关注它的具体机制.今天在为一个复杂声明的指针分配内存时,想起来要了解一下sizeof到底是什么? 先抛个问题: 程序运行过程中对空指针解引用,程序会直接core.那么sizeof对一个空指针“解引用”行不行?(int p=nullptr; size_t iSize=sizeof(*p)).比如如下应用场景: int (*p)[10] = nullptr;/*p是一个指向有10个int型元素的数组的指针*/ 如果要分配5个数组的空间…
题目内容:输入一个字符串,内有数字和非数字字符.例如:a123x456 17960 302tab5876.将其中连续的数字作为一个整数,依次存放到一维数组a中,例如123放在a[0],456放在a[1]--统计共有多少个整数,并输出这些数. 输入格式:输入一个字符串(允许空格). 输出格式:第1行输出个数,第2行输出多个整数,用空格分隔. 输入样例:a123X456  7689?89njmk32lnk123 输出样例: 6 123 456 7689 89 32 123 解决思路:最近同时在学C+…
遇到个坑,定义了一个字符数组 unsigned ;i<;i++) { buff[i] = ; } 然后用串口发送函数: write(fd, buff, strlen(buff)); 却发现串口一直未收到数据,原来是strlen遇到'\0'则结束计算长度.所以发送的数据一直为空. 关于sizeof与strlen的具体介绍:http://blog.csdn.net/sjtu_huang/article/details/6533140 strle是用来计算字符串长度,sizeof是用来计算字符数组长度…
关于指针和加减法: 指针的加减法:指针的加减法,加多少或者减多少,主要是看所指对象的sizeof值. 例子: double m = 3.0; ; double *p=&m; int* p1=&n; printf("p:%d\n", p ); printf(); printf("P1:%d\n", p1); printf(); 如上图所示,p加了8,因为指向是double类型.p1加了4,因为指向了int. 现在我定义一个数组,int a[3]={0}…
#include "stdafx.h" #include <iostream> using namespace std; int main() { ]={}; cout<<])<<endl; ; } 运行结果:…
C/C++中不同数据类型所占用的内存大小 32位                 64位 char               1                    1 int                  4             大多数4,少数8 short              2                    2 long               4                    8 float               4              …
数组的定义与访问 数组是一系列数据的集合,可以存储大量数据,通过数组的下标.key,可以实现对数据的快速访问. 为什么要使用数组呢? 如果您有一个项目列表(例如汽车品牌列表),在单个变量中存储这些品牌名称是这样的 var cars1 = "宝马" var cars1 = "卡宴" var cars1 = "奥迪" 不过,假如您希望对变量进行遍历并找出特定的那个值?或者如果您需要存储300个汽车品牌,而不是3个呢? 解决方法是他用数组存储! 数组能…