c语言:sizeof的使用,其不是函数,是一个操作符关键字,定义一个数组arr,输出arr和&arr的区别
2015-12-08 00:31
633 查看
关于sizeof的使用,注意其不是函数,是一个操作符关键字
程序一:
#include <stdio.h>
void fun(int arr[10])
{
printf("fun::%d\n", sizeof(arr));//
}
int main()
{
int i = 10;
short a = 0;
int arr[10];
fun(arr);
printf("%d\n", sizeof(arr));//40
printf("%d\n", sizeof(a++));//2
printf("%d\n", a);//0
printf("%d\n", i);//10
system("pause");
return 0;
}
结果:
fun::4
40
2
0
10
请按任意键继续. . .
程序二:
定义一个数组arr,输出arr和&arr的区别
#include <stdio.h>
int main()
{
int n = 10;
int arr[10] = {0};
int *p = NULL;
int (*q)[10] = NULL;
printf("%d\n", sizeof(n));//4
printf("%d\n", sizeof(int));//4
printf("%d\n", sizeof(arr));//40
printf("%d\n", sizeof(&arr));//4
printf("%p\n", arr);//00D4FACC &arr[0],它表示数组首元素的地址
printf("%p\n", &arr);//00D4FACC,它表示数组的地址,这两个表示意义不同
p = arr;
q = &arr;
printf("p+1=%p\n",p+1);//p+1=007DF958
printf("q+1=%p\n",q+1);//q+1=007DF97C
return 0;
}
结果:
4
4
40
4
00F5F7C8
00F5F7C8
p+1=00F5F7CC
q+1=00F5F7F0
请按任意键继续. . .
本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1720588
程序一:
#include <stdio.h>
void fun(int arr[10])
{
printf("fun::%d\n", sizeof(arr));//
}
int main()
{
int i = 10;
short a = 0;
int arr[10];
fun(arr);
printf("%d\n", sizeof(arr));//40
printf("%d\n", sizeof(a++));//2
printf("%d\n", a);//0
printf("%d\n", i);//10
system("pause");
return 0;
}
结果:
fun::4
40
2
0
10
请按任意键继续. . .
程序二:
定义一个数组arr,输出arr和&arr的区别
#include <stdio.h>
int main()
{
int n = 10;
int arr[10] = {0};
int *p = NULL;
int (*q)[10] = NULL;
printf("%d\n", sizeof(n));//4
printf("%d\n", sizeof(int));//4
printf("%d\n", sizeof(arr));//40
printf("%d\n", sizeof(&arr));//4
printf("%p\n", arr);//00D4FACC &arr[0],它表示数组首元素的地址
printf("%p\n", &arr);//00D4FACC,它表示数组的地址,这两个表示意义不同
p = arr;
q = &arr;
printf("p+1=%p\n",p+1);//p+1=007DF958
printf("q+1=%p\n",q+1);//q+1=007DF97C
return 0;
}
结果:
4
4
40
4
00F5F7C8
00F5F7C8
p+1=00F5F7CC
q+1=00F5F7F0
请按任意键继续. . .
本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1720588
相关文章推荐
- c语言:按如下方式输出You are handsome!,每到下一行,就替换掉两边上的字符
- c语言:C语言清空输入缓冲区在标准输入(stdin)情况下的使用
- C语言程序设计整理(2)
- 单词识别 c++ primer plus 第六章变成练习 第7题
- c++ primer plus 第六章变成练习 第7题
- 浅谈C语言中scanf(),gets()函数区别与联系
- c++初始化成员列表
- 找第二大的数
- Parse Generator + Visual Studio 2013配置方法
- c++ primer plus 第六章变成练习 第4题
- Effective C++读书笔记
- 【C/C++语法外功】传值&传引用&传指针
- 字符串匹配--Sunday算法-C语言实现
- C语言编写猜数字的小游戏
- c语言2 printf
- C指针,C++语言中的指针详解
- c语言中复杂数据类型总结
- c语言摄氏度华氏度转换
- c++二维动态数组分配与delete
- C语言成长学习题(十四)