二维数组、指针、步长

来源:互联网 发布:软件原型设计 编辑:程序博客网 时间:2024/05/16 12:25
#include <stdio.h>
#include <string.h>


#define PRINT(value) printf("%s:%d\n",#value,value);


void main()
{
int a[3][5];
PRINT(a);// 8517344
PRINT(*a);// 8517344
PRINT(a + 1);// 8517364
PRINT(*a + 1);// 8517348
PRINT(sizeof(a));// 60
PRINT(sizeof(*a));//20

}


a的步长为它的一个元素的长度 ,即int a[3][5] 中元素 一维数组 int [5] 的长度 20,sizeof的长度为整个二维数组的长度

*a的步长也是它的一个元素的长度,即 int [ ] 中元素 int的长度 4,sizeof的长度为一维数组的长度


0 0
原创粉丝点击