为啥排序之后会多出5个零?是不是我的sizeof不能这么用?刚学C没多久,求指点
数组长度不正确
你all数组的长度是15,你只输入了10个数,还有5个数是0
指针在C里面是一个非常重要的概念,它记录了另一个对象的地址。在32位计算机中,一个指针变量的返回值通常是4(注意结果是以字节为单位),在64位系统中指针变量的sizeof通常为8。
#include <stdio.h>
int main()
{
char *a = "codeMan";
int *b;
char **c = &a;
void(*d)();//函数指针
printf("%d\n",sizeof(a));//32位结果为4 64位结果为8
printf("%d\n",sizeof(b));//32位结果为4 64位结果为8
printf("%d\n",sizeof(c));//32位结果为4 64位结果为8
printf("%d\n",sizeof(d));//32位结果为4 64位结果为8
}
指针变量的sizeof值与指针所指的对象没有任何关系,正是由于所有的指针变量所占内存大小相等,所以MFC消息处理函数使用两个参数WPARAM、LPARAM就能传递各种复杂的消息结构(使用指向结构体的指针)。