gpt4 book ai didi

c - char指针如何成为整个字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 00:12:17 25 4
gpt4 key购买 nike

假设我有以下字符串:

char *my_string = "Stack";

据我所知char *保存的是字符串"Stack"第一个字符的内存地址。在计算机内存中,它可能表示为:

 ------------------------
| S | t | a | c | k | \0|
------------------------
^
my_string

如果我调用:printf("%s\n", my_string);,将打印整个字符串。编译器如何知道打印整个字符串?因为据我了解,它只有一个字符的地址。

最佳答案

char* 确实只指向字符串的第一个字符,但是像 printf("%s") 这样的函数将简单地开始读取并继续直到找到一个 0 字节。默认情况下,像您的 "Stack" 示例这样的字符串文字是零终止的,因此 printf 将知道打印您的字符串并在此之后停止。

关于c - char指针如何成为整个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26294621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com