c语言:sizeof的使用,其不是函数,是一个操作符关键字,定义一个数组arr,输出arr和&arr的区别
程序员文章站
2022-08-13 20:23:34
关于sizeof的使用,注意其不是函数,是一个操作符关键字
程序一:
#include
void fun(int arr[10])...
关于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
请按任意键继续. . .
上一篇: 任意参数的单链表实现 (Java8)
下一篇: 老婆摸摸凸起的肚子大笑起来