码迷,mamicode.com
首页 > 其他好文 > 详细

sizeof()与strlen()(1)

时间:2016-05-05 07:10:31      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:sizeof strlen 数组偏移

sizeof函数:

求的是字节数,如int型在32平台下是4个字节,char是1个字节,任何类型的指针都是4个字节。

stelen函数:

求的是字符串的长度,不包括‘\0‘。

以下是用在一维数组和二维数组中区别两个函数的例子:

(1)一维数组

	int a[] = { 1, 2, 3, 4 };  
	printf("%d\n", sizeof(a)); 
	printf("%d\n", sizeof(a + 0));
	printf("%d\n", sizeof(*a));
	printf("%d\n", sizeof(a + 1));
	printf("%d\n", sizeof(a[1]));
	printf("%d\n", sizeof(&a)); 
	printf("%d\n", sizeof(&a + 1));
	printf("%d\n", sizeof(&a[0]));
	printf("%d\n", sizeof(&a[0] + 1));

输出结果:

16

4

4

4

4

4

4

4

请按任意键继续. . .

解析:

(2)二维数组

        int a[3][4] = { 0 };
	printf("%d\n", sizeof(a));
	printf("%d\n", sizeof(a[0][0]));
	printf("%d\n", sizeof(a[0]));
	printf("%d\n", sizeof(a[0] + 1));
	printf("%d\n", sizeof(a + 1));
	printf("%d\n", sizeof(&a[0] + 1));
	printf("%d\n", sizeof(*a));
	printf("%d\n", sizeof(a[3]));

输出结果:

48

4

16

4

4

4

16

16

请按任意键继续. . .

解析看下篇  sizeof()与strlen()(2)

sizeof()与strlen()(1)

标签:sizeof strlen 数组偏移

原文地址:http://10742272.blog.51cto.com/10732272/1770226

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!