gpt4 book ai didi

chararray 大小和长度不一样

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

<分区>

在我已经有几年 Python、C# 和 Java 的经验后,我才开始学习 C。

我在教程中了解到,char anything[] 始终是一个指针。 (今天,有人告诉我这是错误的) - 我认为我的问题与此有关。不过,我正在尝试获取字符数组的长度:

#include <stdio.h>

int get_string_length(char * string)
{
int length = 0;
while(string[length] != '\0')
{
char c = string[length];
length++;
}
return length;
}

int get_string_size(char * string)
{
return sizeof(string);
}

int main()
{
printf("%d\n", get_string_size("hello world")); // returns 8
printf("%d\n", get_string_length("hello world")); // returns 11
printf("%d\n", sizeof("hello world")); // returns 12 -> Okay, because of '\0'-char
return 0;
}

结果:

8

11

12

那么,为什么我的 get_string_size 方法返回 8 而不是 12? (因为两者都只调用 sizeof())

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