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

C语言高手进 int * p = (int *)malloc(sizeof(int));

发布网友 发布时间:2023-08-06 19:26

我来回答

5个回答

热心网友 时间:2024-12-05 00:49

malloc()函数的作用是分配制定字节数的空间
sizeof()()为单目运算 求出对应类型所占用的字节数
(类型名)为单目运算 为强制类型转换
要注意的是 malloce函数申请得到的空间是无类型的空间 必须强制转换成对应指针可以指向的空间的类型
这里定义的是int *p 所以p指针只能指向int型空间
sizeof(int) 求得int类型所占的字节数
malloc(sizeof(int)) 申请一个跟int所占的空间大小一样的空间
(int*)malloc(sizeof(int)) 将申请得到的空间地址转换成了int类型空间地址
最后就可以赋值给指向int型空间的p指针了

热心网友 时间:2024-12-05 00:49

int *p;//定义一个指向整型的指针变量
p=(int*)malloc(sizeof(int));
/*建立(动态申请)一块内存空间,建立的内存空间为一个整型变量的长度,并把建立的空间地址转化成指向整型的指针赋值给前面的整型指针变量p*/
如果这块动态内存不释放,相当于把一个整型变量的地址给前面的指针
例如:
#include <stdlib.h>
#include <stdio.h>
int main()
{
int * p;
p=(int *)malloc(sizeof(int));
*p=5;
printf("p的地址是%d\n",&p);
printf("p的长度是%dByte\n",sizeof(p));
printf("p的值是%d\n",p);
printf("p指向地址的值是%d\n",*p);
printf("p指向地址的值的长度是%dByte\n",sizeof(*p));
return 0;
}

热心网友 时间:2024-12-05 00:50

义实例实际上是指针数组的定义。
指针数组是指所定义数组的每个数组元素都是一个相应数据类型的指针,开设空间的操作可以应用循环语句进行,例如:对于char *p[10]; 可以应用
for(i=0;i<10;i++)
p[i]=(char *)malloc(sizeof(char)*N); //为每个指针申请开设N字符的存储空间
开设后,对于p的使用与二维数组的使用格式类似,可以有效的使用两个下标,
如 p[0][0]='A';
还可以像每个指针中赋值字符串: p[2]="Beijing"; 当然字符串长度应该小于N。

而数组指针,是指定义为指向某个固定大小顺序空间的指针,定义的格式如下:
char (*pa)[10]; //定义一个指向拥有10元素的字符数组的指针,
int (*p)[10];
应用格式可以参考下述程序,申请空间、赋值、输出后,可以观察到100被赋值到第五行第十个元素,指针可以像二维数组一样通过两个下标引用所申请开设的空间。
#include<alloc.h>
main()
{ int (*p)[10];
int i,j,k;
p=(int(*)[10])malloc(sizeof(int(*)[10])*5); //申请开设5个单元,每个单元拥有10个连续空间
p[4][9]=100;
for(i=0;i<5;i++)
{ for(k=0;k<10;k++)
printf("%8d",p[i][k]);
printf("\n");
}
}

热心网友 时间:2024-12-05 00:50

前面的 (int *)是强制转换,后面的malloc(sizeof(int)); 是在内存中创建一个连续长度为sizeof(int)的区间之后再返回该区间的首地址给int * p

热心网友 时间:2024-12-05 00:51

sizeof是个关键字,用来计算指定数据类型或指定变量的空间大小(以字节为单位)
int a;
sizeof(a) = sizeof(int) = sizeof a;
malloc的参数是字节长度
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中美有什么经济冲突 杨凌衡水实验中学高中学费是多少 蒂芙尼珍珠项链怎么清洗和保养? tiffany&amp;co 的缺点 如何保养蒂芙尼的项链? tiffany保养要多久时间 Tiffany珠宝需要多长时间保养? 人为什么活着,怎样活着都是无憾!! 孩子犟的不行家长怎么教育 有什么比较好用的游戏视频录制软件? 适用于Windows的10个好用的游戏录制软件 定义一个指向整型变量的指针变量,用该指针变量 封神榜2力和术都代表什么 不锈钢锅做饭怎样才不糊? 小天才长期续航和普通续航哪个好 关于人格、情境与行为模式之间的关系,下列说法不正确的是( )。 用心理学分析人格与情境哪个更重要 人格和情境哪个更重要为什么? 请举例说明认知一情感人格系统是如何解释同一情境下人们的反应差别的... 人格与情境,随更能决定人生,后天考试急用!!谢谢啦 梦见软体东西 梦见莫到他的软睾丸 梦见男朋友的手很软的预兆 我用的是201207月生产发外星人M14X R2,请问,能否在里同增加一块固态硬盘... 坦克世界推荐10级坦克8级和5级坦克。说明理由。 坦克世界十级重坦哪个好?我个人喜欢玩重坦,现在已经有-7,准备再练一 ... 犀牛十级重坦值得出吗 三坐标自动测量 显示报错窗口 TR_OUTOL_machine parameter out of... :被分到出入监监区的短刑犯(余刑三个月)会直到释放吗? 思瑞三坐标如何取消上下公差设置 橘子群岛的介绍 问一道c语言题 c语言中指针型变量命名为*a可以么?必须是*p么?为啥 三亚学院师资怎么样?宿舍几人间 日本人那么喜欢吃生鱼片,为什么体内没有寄生虫? 日本飞机体内内入鸟是真的吗? 双流县其他麓山国际社区商业街怎么去,丸福日式烤肉的 怎么找到自己的 如何查找自己? ...英雄联盟里面英雄们武器的名字,例如,皇子的武器名字叫“巨龙... 瓦罗兰特下载完后无法启动? 甘肃省黄淮学院在什么地方 黄淮学院的大专在哪 ...理工学院、河南理工大学、平顶山学院、黄淮学院他们的特色专业都有... 黄淮学院的北校区在哪啊?离市区进吗?哪儿怎么样啊?谢谢! 牛角梳是用什么制作的?你知道吗?它也是分真假的! 防冻玻璃水有哪些功能 请问gta5云存档同步冲突怎么解决 怎么找到自己的 如何查找自己? 梅艳芳最后一场演唱会中有没有提到张国荣