这是返回一个某种类型占用空间的大小 sizeof(类型参数)*p 返回的是p个该类型占用空间的大小
1、sizeof(int)表示求int型变量所占空间字节数。2、在32位编译系统,sizeof(int)=4,在16位编译系统,sizeof(int)=2。3、因此,sizeof(int)*p要么等于4*p,要么等于2*p。
因此,`sizeof(int) *p`表示用一个指向整型变量的指针`p`存储一个整型变量的大小。因为一个`int`类型变量通常占据4个字节,所以这条语句等价于`4 *p`。 注意,`sizeof`是一个关键字,而不是函数,不需要用括号将它的参数括起来。在这个例子中,括号会被认为是指向一个函数的指针,而不是求类型大小的操作符。因此...
1:int *p; sizeof(p)=4; 但sizeof(*p)相当于sizeof(int); 2:sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。 3:对于静态数组,sizeof可直接计算数组大小; 例:int a[10];char b[]="hello"; sizeof(a)等于4*10=...
二、sizeof(int)*p 表示什么意思? 留几个问题(讲解指针与数组时会详细讲解),32 位系统下: int *p = NULL; sizeof(p)的值是多少? sizeof(*p)呢? int a[100]; sizeof (a) 的值是多少? sizeof(a[100])呢?//请尤其注意本例。 sizeof(&a)呢?
sizeof(p)就是指针变量占据的大小,可能是4或者8,和机器和编译软件有关。sizeof(*p)是40
sizeof(int)*p 表示什么意思 #include<stdio.h>intmain() {int* p = NULL;intarr[10] = {0};int* parr[3];printf("%d\n", sizeof(p));//p是指针变量,指针变量的大小是固定的4或者8printf("%d\n", sizeof(*p));//指针变量所指的变量所占的内存的大小printf("%d\n", sizeof(arr));//si...
———2. int*p =NULL;意思是p这个整数型指针变量指向NULL,不管它指向什么它都是指针类型,所占字节数是固定的; 所以在32位系统里sizeof(p) = 4,在64位系统里sizeof(p) = 8;再看sizeof(*p),*p就是NULL的内容,也即0x00000000的内容,且该内容是Int类型的,输出的就是sizeof(int),...
int *p = &number[0]; printf("数组的长度是: %d\n", sizeof(p)); printf("数组的元素分别是:\n"); for(index = 0;index < sizeof(p); index++) { printf("%d ", number[index]); } printf("\n"); return 0; } 增加了一个指针变量p,指针变量p的初始值是数组首元素的地址。有的朋友企...
int *p;//定义一个指向整型的指针变量 p=(int*)malloc(sizeof(int));/*建立(动态申请)一块内存空间,建立的内存空间为一个整型变量的长度,并把建立的空间地址转化成指向整型的指针赋值给前面的整型指针变量p*/ 如果这块动态内存不释放,相当于把一个整型变量的地址给前面的指针 例如:include ...