鱼C论坛

 找回密码
 立即注册
查看: 2309|回复: 8

[已解决]指针非常简单的问题

[复制链接]
发表于 2021-3-6 15:30:56 | 显示全部楼层 |阅读模式
5鱼币
QQ截图20210306152921.png
请问这两种写法有什么区别吗
最佳答案
2021-3-6 15:30:57
前者null表示这个指针谁也不指向,于是这个地址值为0(null宏定义就是0)
后者分配了内存,这个指针就有了地址值
  1. #include<stdio.h>
  2. #include<stdlib.h>

  3. int main()
  4. {
  5.         int *p = NULL;
  6.         int *l=(int*)malloc(sizeof(int));
  7.         printf("p:%x\n",p);
  8.         printf("l:%x",l);
  9.        
  10.         return 0;
  11. }  
复制代码
  1. p:0
  2. l:9f13e0
复制代码

最佳答案

查看完整内容

前者null表示这个指针谁也不指向,于是这个地址值为0(null宏定义就是0) 后者分配了内存,这个指针就有了地址值
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-3-6 15:30:57 | 显示全部楼层    本楼为最佳答案   
前者null表示这个指针谁也不指向,于是这个地址值为0(null宏定义就是0)
后者分配了内存,这个指针就有了地址值
  1. #include<stdio.h>
  2. #include<stdlib.h>

  3. int main()
  4. {
  5.         int *p = NULL;
  6.         int *l=(int*)malloc(sizeof(int));
  7.         printf("p:%x\n",p);
  8.         printf("l:%x",l);
  9.        
  10.         return 0;
  11. }  
复制代码
  1. p:0
  2. l:9f13e0
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-3-6 16:05:55 | 显示全部楼层
第一种方法中只是定义了一个指针变量,该指针并没有指向一段存储空间,如果要使用还需要进行赋值的
第二种方法中malloc函数则是向计算机申请了一个整型数据的内存空间,它会返回一个指向该段内存空间的指针,然后将该地址赋值给了p,也就是完成了对指针p的赋值工作,我们就可以通过操作p操作这段内存空间了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-3-6 16:06:31 | 显示全部楼层
int *p只定义了一个指向整型数据单元的指针;
p = (int*)malloc(sizeof(int))定义的指针同时分配了计算机一个整型单元大小的空间,由p指向。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-3-6 18:45:37 From FishC Mobile | 显示全部楼层
第一个是单纯定义空指针,第二个是在堆上申请一块内存空间,然后用指针指向它
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2021-3-6 19:10:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-3-6 19:11:05 | 显示全部楼层

评分

参与人数 1荣誉 -5 贡献 -3 收起 理由
歌者文明清理员 -5 -3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-3-6 19:11:24 | 显示全部楼层

评分

参与人数 1荣誉 -5 贡献 -3 收起 理由
歌者文明清理员 -5 -3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-3-6 19:11:37 | 显示全部楼层

评分

参与人数 1荣誉 -5 贡献 -3 收起 理由
歌者文明清理员 -5 -3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-3 21:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表