假如对未赋初值的变量取地址

来源:3-4 变量【内存地址分析】

慕莱坞0998854

2023-04-27

老师你好,对于这一节的视频,老师说C语言里面没有赋值的Int类型的变量的值是0,然后我就尝试着看看,结果很奇怪,假如使用GDB的话,得到的结果我看不太懂:

#include <stdio.h>
int main() {
  int val;
  int value = 3;

  printf("value:%d\n", value);
  printf("size of value:%d\n", sizeof(value)); //通过sizeof获取占据空间的大小4


  printf("address of value: %lx\n",&value);


  return value;
}

结果是:{ int* }
如图:
图片描述

写回答

2回答

bennyhuo

2023-04-27

你截图的里面,显示的不是值,而是类型
0
0

bennyhuo

2023-04-27

我听了一下视频没找到哪里说到未初始化的int是0,同学可以说一下具体位置哈。没有赋值的变量的值是没有定义的,多数情况下编译器会把内存清0,但也有不清零的情况。
0
0

C语言系统化精讲 重塑编程思想 打造坚实的开发基础

如果通向大牛的道路有捷径,那就是先学好C语言

2208 学习 · 853 问题

查看课程