当前位置:编程学习 > C/C++ >>

sizeof

print?#include <stdio.h>  
#include <malloc.h>  
 
int main(void){ 
        int *p; 
        int *a; 
        a = (int*)malloc(sizeof*p); 
        *a=1; 
        printf("%d\n",*a); 
        free(a); 
        return 0; 

#include <stdio.h>
#include <malloc.h>

int main(void){
        int *p;
        int *a;
        a = (int*)malloc(sizeof*p);
        *a=1;
        printf("%d\n",*a);
        free(a);
        return 0;
}

上面这段代码,编译运行都没有任何问题。


[cpp]
a = (int*)malloc(sizeof*p); 

a = (int*)malloc(sizeof*p);一般主要是对上面这行代码有疑问,查阅相关资料,sizeof的用法如下:


  1、用于数据类型

  sizeof使用形式:sizeof(type)

  数据类型必须用括号括住。如sizeof(int)。

  2、用于变量

  sizeof使用形式:sizeof(var_name)或sizeof var_name

   变量名可以不用括号括住。如sizeof (var_name),sizeof var_name等都是正确形式。

 

 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,