二级公共基础,程序设计基础
整数I类实例通常是指整数,即没有小数部分的数值。整数可以是正数、负数或零。它们可以用十进制、二进制、八进制或十六进制表示
“101E02”是科学计数法表示的数值
101E02明显是科学计数法,这是个double类型
如果你希望E是16进制,那前面要加0x
十六进制得加0x开头才行
int abc();
找到变量名abc,先和()
结合,得出结论 abc 是一个函数,函数就必定有返回值,返回值是啥呢,看下一个结合的东西,是int ,说明函数返回值是 int 型。所以得到最终结论,abc 是一个函数,函数返回值是 int 类型int abc[7];
找到变量名abc,先和 [7]
结合,得到结论,abc是一个可以存放7个数据的数组,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,是int ,说明元素数据类型是 int 型。所以得到最终结论,abc 是一个可以存放7个数据的数组,数组元素的数据类型是 int 类型int **abc();
找到变量名abc,先和()
结合,得出结论 abc 是一个函数,函数就必定有返回值,返回值是啥呢,看下一个结合的东西,是*
,说明函数返回值是个指针。指针必须指向某个东西,它指向啥呢?看下一个结合的东西,还是*
,说明指针指向了另外一个指针,同理,第二个指针指向啥呢?看下一个结合的东西,是int ,说明第二个指针指向一个 int 数据。所以得到最终结论,abc 是一个函数,函数返回值是一个指向 int 型指针的指针(或者说返回值是一个int型的双重指针)int (*abc)();
找到变量名abc,先和*
结合,得出结论 abc 是一个指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是()
,说明指针指向一个函数,函数就必定有返回值,返回值是啥呢,看下个结合的东西,是int ,说明函数返回值是 int 型。所以得到最终结论,abc 是一个指针,其指向一个函数(也就我们常说的函数指针),函数返回值是 int 类型int (*abc)[6];
找到变量名abc,先和*
结合,得出结论 abc 是一个指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是[6]
,说明指针指向一个可以存放6个数据的数组,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,是int ,说明元素数据类型是 int 型。所以得到最终结论,abc 是一个指针,它指向一个可以存放6个数据的数组,数组元素的数据类型是 int 类型int *abc();
找到变量名abc,先和()
结合,得出结论 abc 是一个函数,函数就必定有返回值,返回值是啥呢,看下一个结合的东西,是*
,说明函数返回值是个指针。指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是int ,说明指针指向一个 int 数据。所以得到最终结论,abc 是一个函数,函数返回值是一个指向 int 型指针int **(*abc[5])();
找到变量名abc,先和 [5]
结合,得到结论,abc是一个可以存放5个数据的数组,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,是*
,说明元素数据类型是指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是()
,说明指针指向一个函数,函数就必定有返回值,返回值是啥呢,看下一个结合的东西,是*
,说明函数返回值是个指针。指针必须指向某个东西,它指向啥呢?看下一个结合的东西,还是*
,说明指针指向了另外一个指针,同理,第二个指针指向啥呢?看下一个结合的东西,是int ,说明第二个指针指向一个 int 数据。所以得到最终结论,abc 是一个可以存放5个数据的数组,数组元素的数据类型是函数指针,函数返回值是一个指向 int 型指针的指针int **abc[4];
找到变量名abc,先和 [4]
结合,得到结论,abc是一个可以存放4个数据的数组,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,是*
,说明元素数据类型是指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,还是*
,说明指针指向了另外一个指针,同理,第二个指针指向啥呢?看下一个结合的东西,是int ,说明第二个指针指向一个 int 数据。所以得到最终结论,abc 是一个可以存放4个数据的数组,数组元素的数据类型是指向int型指针的指针int *(*abc)[3];
找到变量名abc,先和*
结合,得出结论 abc 是一个指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是[3]
,说明指针指向一个可以存放3个数据的数组,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,是*
,说明元素数据类型是指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,,是int ,说明指向的是一个 int 数据。所以得到最终结论,abc 是一个指针,指向一个可以存放3个数据的数组,数组元素的数据类型是int型指针int *(*abc())();
找到变量名abc,先和()
结合,得出结论 abc 是一个函数,函数就必定有返回值,返回值是啥呢,看下一个结合的东西,是*
,说明函数返回值是个指针。指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是()
,说明指针指向的是一个函数(函数2),函数2也必定有返回值,返回值是啥呢,看下一个结合的东西,是*
,函数2的返回值是指针(指针2),指针2也必须指向某个东西,它指向啥呢?看下一个结合的东西,是 int ,说明指向的是一个 int 数据。函数2的返回值是一个指向int数据的指针,。所以得到最终结论,abc 是一个函数,其返回值是一个函数指针,函数指针指向函数2,函数2的返回值是一个指向int数据的指针int (**(*abc)())();
找到变量名abc,先和*
结合,得出结论 abc 是一个指针,指针必须指向某个东西,它指向啥呢?看下一个结合的东西,是()
,说明指针指向的是一个函数,函数必定有返回值,返回值是啥呢,看下一个结合的东西,是*
,说明函数返回值是个指针(指针2)。指针2必须指向某个东西,它指向啥呢?看下一个结合的东西,还是*
,说明指针2指向了另外一个指针(指针3),同理,指针3指向啥呢?看下一个结合的东西,是()
,说明指针3指向一个函数(函数2)。函数2也必定有返回值,返回值是啥呢,看下一个结合的东西,是 int 说明函数的返回值是一个 int 数据 ,即函数2的返回值是 int 数据,指针3指向函数2,是一个函数指针,指针2指向指针3,是一个指向函数指针的普通指针。所以得到最终结论,abc 是一个指针,指向一个函数1,函数1的返回值是一个指向函数指针(指针3)的普通指针(指针2),函数指针(指针3)指向函数2,函数2的返回值是一个 int 数据int (*(*abc)())[2];
找到变量名abc,先和*
结合,得出结论 abc 是一个指针,指针必须指向某个东西,它指向啥呢?,看下一个结合的东西,是()
,说明指针指向的是一个函数,函数必定有返回值,返回值是啥呢,看下一个结合的东西,是*
,说明函数返回值是个指针(指针2),指针2必须指向某个东西,它指向啥呢?看下一个结合的东西,是[2]
,说明指针2指向了一个可以存放2个数据的数组,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,是int ,说明元素数据类型是 int 型。所以得到最终结论,abc 是一个指针,其指向一个函数,函数返回值又是一个指针(指针2),指针2指向一个可以存放2个数据的数组,数组元素的数据类型是intint *(*(*(*abc)())[10])();
找到变量名abc,先和*
结合,得出结论 abc 是一个指针,指针必须指向某个东西,它指向啥呢?,看下一个结合的东西,是()
,说明指针指向的是一个函数(函数1),函数1必定有返回值,返回值是啥呢,看下一个结合的东西,是*
,说明函数1返回值是个指针(指针2),指针2必须指向某个东西,它指向啥呢?看下一个结合的东西,是[10]
,说明指针2指向了一个可以存放10个数据的数组,指针2是一个数组指针,数组那就得有元素数据类型,类型是啥呢,看下个结合的东西,又是*
,说明元素数据类型是 指针(指针3),指针3必须指向某个东西,它指向啥呢?看下一个结合的东西,是()
,说明指针3指向的是一个函数(函数2),指针3是一个函数指针,函数2必定有返回值,返回值是啥呢,看下一个结合的东西,还tm是*
,说明函数返回值是个指针(指针4),指针4必须指向某个东西,它指向啥呢?看下一个结合的东西,是 int ,说明指针4指向一个 int 数据,函数1的返回值是一个指向数组的数组指针2,函数2的返回值是一个指向 int 数据的普通指针4,函数指针3指向函数2,所以得到最终结论,abc 是一个指针,其指向一个函数,函数返回值又是一个数组指针(指针2),指针2指向一个可以存放10个数据的数组,数组存放的是一些函数指针(指针3),这些函数指针指向的函数(函数2)的返回值是一个指向int 数据的普通指针(指针4)这个有点难,补一下步骤,
int *(*(*(*abc)())[1])();
—>int *(*(*ptr())[1])();
—>int *(*(*function1)[1])();
—>int *(*(ptr2)[1])();
—>int *(*array)();
—>int *(ptr3)();
—>int * fuction2;