gpt4 book ai didi

c - 在函数中作为参数传递时如何解释字符串文字参数?

转载 作者:太空宇宙 更新时间:2023-11-04 06:22:35 26 4
gpt4 key购买 nike

我需要帮助才能掌握一些东西。目前,我正在使用少量内存(ROM(闪存)、RAM)在微 Controller 平台上测试代码。这是代码

void print(const char * c)
{
printf("%#4x, ",c);
printf("%s\n",c);
}

这是函数调用

print("Riko");

输出是:0x5C4C, Riko

内存地址 0x5C4C 位于 FLASH(主代码内存)中,因此文字字符串 "Riko" 也必须位于该内存段中?我的问题是:当我们将 "Riko" 作为参数传递给函数 print 时,是否实际上意味着我们传递了字符串 的第一个字符的地址“Riko”((const char*) 0x5C4C) 作为函数 print 的参数?非常感谢...

最佳答案

When we pass "Riko" as argument to the function print, does it actually mean that we pass the address of the first character of the string "Riko"

是的,这意味着,但是,对于打印地址,您应该使用:

   printf("%p", (void*)c);

关于c - 在函数中作为参数传递时如何解释字符串文字参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32113191/

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