为什么已声明但未初始化的指针在代码块中具有值?

Why do declared but uninitialized pointers have a value in code blocks?

提问人:DerBuut 提问时间:11/15/2023 更新时间:11/15/2023 访问量:6

问:

您好,我在 C 中的指针有问题,我真的不知道代码块在仅声明但未初始化时如何处理指针,如下所示:

字符 *badString; printString(坏字符串);

printString() 函数具有以下逻辑,应检测输入的字符串是否为 NULL:

assert(enteredString != NULL);

但事实证明,指针实际上有一个值? 如果我打印出指针,它会出于某种原因返回一个实际内存地址:

printf(“%p.\n”, s);就我而言,十进制是 72

我真的不知道该怎么做,因为本教程没有同样的问题,而且我对 C 很陌生,所以我有根据的猜测是它与代码块有关,但如果我做错了什么,我想理解它,这样我就可以避免将来。 如果相关,这是我遵循的教程:https://www.youtube.com/watch?v=4cL5WwBnwCw&list=PLA1FTfKBAEX4hblYoH6mnq0zsie2w6Wif&index=82 . 提前致谢:)

指针 代码块 断言

评论


答: 暂无答案