void sort_str(char str[])
{
sizeof(str); //大小为4
}
void main()
{
char str[]= “qpwieurnnzvcmkjaskfoiwan;;”;
sizeof(str); //大小为26
}
疑问:
为什么第一个sizeof(str)的大小为4,第二个sizeof(str)的大小为26?
解答:
第一个str代表的是字符型指针,sizeof(str)返回的是字符型指针所占的内存大小,而指针在计算机中存储的数据地址是int类型的,不管是什么类型的,大小均为4;
第二个str代表的是字符型数组,sizeof(str)返回的是字符型数组所占的内存长度,即字符个数。