当字符串有26个字符时,为什么sizeof(str)8?

时间:2017-04-16 06:46:08

标签: c++

我创建了以下数组:

sizeof(myarr)

当我做的时候

if(getApiClient().isConnected()){
            Games.Leaderboards.submitScore(getApiClient(), getString(R.string.number_guesses_leaderboard),newScore);
}

我得到8.为什么我会这样做?如果1个字符是1个字节,那么myarr的大小应该是26,只计算字符对吗?

3 个答案:

答案 0 :(得分:4)

在您的平台上,char指针是8个字节。这是指针变量的大小,而不是它所指向的大小。如果您想要字符串的长度,请致电strlen(myarr)

答案 1 :(得分:0)

因为它是系统上指针的大小。如果要获取字符串的长度,则应使用strlen()函数。

答案 2 :(得分:0)

char * pointe不是字符串的大小,而是您平台上8 bytes r的大小,它会为您提供strlen(myarr)。数组的大小可以通过}

计算