bycj.net
当前位置:首页 >> C语言求解释一下 A=(int *)mAlloC(n*sizEoF(int)) >>

C语言求解释一下 A=(int *)mAlloC(n*sizEoF(int))

int *a=(int *)malloc(n*sizeof(int)); 表示定义一个int类型的指针变量a,并申请n*sizeof(int)个字节(即4*n个字节)的存储空间.malloc是在C语言中是一个申请内存单元的函数.函数原型:void *malloc(unsigned size); 功 能:分配size个字节的内存

应该是:int *a; a=(int *)malloc(n*sizeof(int)); 这个是动态内存分配 声明一个int型指针a,然后申请n个int型大小的区域(不一定是连续的区域,大部情况是链式区域),把这个内存区域的首地址赋值给指针变量a,这样就可以通过a来操纵申请的内存区域.

a=(int **) malloc(sizeof(int *) * r) 首先,这句话的意思就是使用malloc申请 sizeof(int*)*r这么大的内存空间.e799bee5baa6e997aee7ad94e4b893e5b19e31333337623434 其次,因为mallo的返回值是void*类型,所以要进行一个类型转换,你可以

是一样的,第一个*是与int 合在一起,表示int 型的指针第二个*是乘号,malloc的参数是要申请的内存的大小,sizeof(int) * n 或者 n*sizeof(int)的意思都是一样的,这句话的意思是 ,sizeof(int)=4,所以这句话的意思是申请一块 4*n 字节的内存空间,这句话一般是用来申请动态int型数组的

int *p;//定义一个指向整型的指针变量 p=(int*)malloc(sizeof(int));/*建立(动态申请)一块内存空间,建立的内存空间为一个整型变量的长度,并把建立的空间地址转化成指向整型的指针赋值给前面的整型指针变量p*/ 如果这块动态内存不释放,

首先sizeof计算(int)所占的字节数,然后malloc分配这么多字节数的空间,然后s应该应该是int型.所以要转换成(int *)型

malloc是向系统申请内存空间的函数,返回值是void* 很明显,p1一定是定义为int*p1;的,所以强制malloc返回的指针更改类型为int* malloc的参数说明要申请多少字节数据,这里要申请一个连续5个整型的数据区,所以用5乘以每个int占用的字节数,即5*sizeof(int)

(int *) 是强制类型转换 转换为int *指针类型 sizeof()只是一个运算符 sizeof(int)求得int所占字节数 而在calloc中 这个函数的返回值类型为 void * 这种类型是不能赋值给一个int *指针的 所以使用动态内存分配时 需要将分配得的内存地址 强制转换为你所需要的指针类型 才可以使用

int *p 只是定义了一个指向整型数据单元的指针 p = (int *) malloc (sizeof(int)) 定义的指针同时分配了该计算机一个整型单元大小的空间,由p指向

malloc是分配内存的函数.看名字应该是建立一个临时的内存,那就要配合free这个函数一起来用了.你这句就是请求n个int类型值的空间

相关文档
acpcw.com | 90858.net | yydg.net | zxqt.net | alloyfurniture.com | 网站首页 | 网站地图
All rights reserved Powered by www.bycj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com