问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么int* a=(int*) malloc(n* sizeof.

发布网友 发布时间:2024-01-07 03:17

我来回答

1个回答

热心网友 时间:2024-04-24 02:11

int *a=(int *)malloc(n*sizeof(int)); 表示定义一个int类型的指针变量a,并申请n*sizeof(int)个字节(即4*n个字节)的存储空间。


malloc是在C语言中是一个申请内存单元的函数。

函数原型:void *malloc(unsigned size);

功       能:分配size个字节的内存空间

返 回  值:成功,返回分配的内存单元的起始地址;否则返回0


举例说明如下:

// 下面的定义方法是正确的
int *a=(int *)malloc(n*sizeof(int));  // 定义指针,并分配内存单元
*a = 4;  // 将值存入到指针a所指向的内存单元中

// 下面的定义方法就会出错
int *a; // 定义指针,没有分配内存单元
*a = 4;  // 此时系统不知道该将4存入到哪个内存单元(因为指针未指向具体的内存单元(此时称该指针为野指针)),所以执行的时候会出错(编译没错)。
关于C++中vector< vector<int> >的含义.

个人理解,这个vector<int>申请的空间是动态的。在你定义vector的时候系统并不知道申请了多大的空间。属于动态申请空间就例如 int *a;a=(int *)malloc(n*sizeof(int));一样,当你调用新的输入的时候(直接输入也应该被重载了的)会分配新的空间达到一个动态调整空间大小的做用。而对于2维向量,的...

c语言 int *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个字节的内存空间 返 回 值:成功,返回分配的内存单...

c语言求解释一下 a=(int *)malloc(n*sizeof(int))

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

scanf("%d",&n); int*a=(int*)malloc(n*sizeof(int)); printf("%d",s...

因为int*的分配空间是确定的,你声明的a变量仅仅就是一个int*类型的变量,如果你把a声明为一个数组就可以那样分配了 你可以试试把他定义成 char类型的变量,因为一个char占一个字节内存,或许就可以实现你想要的结果

...sizeof(int)*n);和a=(int *)malloc(n*sizeof(int));意思一样吗...

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

(int*)malloc(sizeof(int)),这里面(int*)是什么意思?

前面的(int *)是用于强制类型转换,由于malloc()返回值是(void *)类型的,有一些编译器不会自动将其转换为用户定义的指针变量的类型(如VC++6.0等),在这种情况下,如果不加强制类型转换(或者强制转换的类型不一致),就会导致编译器报错。

C语言为数组动态分配内存并赋值,为什么第一种方法正确,第二种方法错...

a=(int *)malloc(sizeof(int)); //这个返回的东西只能放一个 int。 多次malloc 返回的地址是不保证连续的,每次的返回都只能容纳一个int。a[i]=i; 访问后面的第i个元素,但后面其实是没有东西的,非法访问来的。 如下图,红色的表示没有实际的东西,非法访问 ...

C语言动态内存的问题,for循环中为什么直接使用a[i]是错的?

a是一个指针,a是一个地址,你不是给一个地址申请内存,是要给指针申请内存 解决办法:把int *a去掉,然后“a=(int*)malloc(sizeof(int)*n);”改为“int *a=(int*)malloc(sizeof(int)*n);”或者"int *a;*a=(int*)malloc(sizeof(int)*n);"(不推荐,因为int *a时不知道这个指针...

C语言用malloc定义未知变量二维数组时缓冲区溢出是为什么?

程序这样写是可以的,应该是申请不到内存空间,导致那个内存地址空间溢出 你在a[i] = (int *)malloc(n*sizeof(int));下面补上if(a[i] == NULL)printf("over\n");来判断下是否申请不成功

...用malloc) ; 定义时是什么形式?(int*a? int**a?)

void main(){ int **a,i,n;if (!a=(int **)calloc(n,sizeof(int))) exit(0);for (i=0;i<n;i++)if (!*a[i] =(int *)calloc(n,sizeof(int)) exit(0);}

sizeof(float) malloc与sizeof mallocsizeof用法 malloc函数sizeof 数据结构mallocsizeof sizeof和strlen的区别 sizeof(int) strlen函数和sizeof sizeof和strlen
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抖音仅一人可见的作者知道吗? 白歆惠最新消息 白歆惠主要作品 白钦惠基本资料 风电运维公司有哪些 白歆惠出席节目 白歆惠主持经历 白歆惠人物轶事 ...唱的lalalali,lulalulali(啦啦啦啦哩,噜啦噜啦哩) ...今年6岁,想给孩子起个小名,望各位高手指点!!! 有哪些好听的英文名字推荐 ...将物体放在天平左盘,右盘内放质量为m1砝码时,天平平衡;将物体放在... ...把物体放在左盘测得质量为M1,放在右盘质量为M2,则物体质量 注册新后旧的怎么找回? 我有一枚西班牙双柱银圆1802年8R的人头左侧是IIII,应该是四世的吧... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... p=(int * )mallooc(sizeof(int)); 一年内怎么改第二次 我的好友怎么转移到别的上 苹果手机屏幕怎么变暗了怎样调都不亮怎么办 ...l2,把物体放在左盘测得m1,放在右盘测得m2,求证 小区地下室,物业私自搭建了20多间杂物间,是违建吗?是否侵害了小区业主... ...出发到云南旅游.到昆明之后最好的旅游路线是什么?我想去大理.丽江... 上海日月星老年护理院的介绍 注册绿盟科技怎么注册 请问冰箱冷藏室上冻怎么回事啊? 懒人版孜然鸡脖是如何做的呢? 怎么用电脑注册 隐藏自己让好友看不到 糖果萌萌消oppo版安卓游戏如何下载 请问adobe creative suite cleaner tool怎么用? 身体忽冷忽热是怎么的? 如何给word文档页面加入页码?如图: 360免费wifi连几分钟就断了,还有不断的吗 谁解释一下s=(int*)malloc(sizeof(int))是什么意思?那些单词都什么意思... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 韩国签证红46―(1)被遣返已经3年多了和韩国人结婚以后申请结婚签证会... 天逸游泳馆的游泳池长30米小丹半小时游了四个来回小刚共游了多少米? 怎么隐藏不让任何人看到 打印机mp纸盘是什么意思 一年改2次的办法 怎样把一个微信的好友转移到另一个上? ...但是登陆的时候他说用户名不存在这该怎么办,登不 MP纸盘什么意思 小红书怎么把群聊显示在视频中? 宝马平衡轴正时不对有什么影响嘛 梦见女朋友养花草养的很好 会算命的进来帮忙算一下! 园林竣工图绘制好学吗 山西太原哪些地方覆盖了CMCC网络?