1、习题:1.根据下面给出的声明和数据,对每个表达式进行求值并写出它的值(如果表达式未知,注明“未知”)。在对每个表达式进行求值时使用原先给出的值(也就是说,某个表达式的结果不影响后面的表达式) 。假定 ints数组在内存中的起始位置是 100,整型值和指针的长度都是 4个字节。int ints20 = 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200;int *p = ints + 3;1) p = 2) p4 = 3) p + 4 = 4) *p + 4 = 5)
2、*(p + 4) = 6) p-2 = 7) int (*b)10;sizeof(a), sizeof(b)的值分别是多少; 5.定义以下类型 x:1)指向字符的指针2)指向由 13个字符类型元素组成的一维数组的指针3)指向字符指针的指针4)由 13个指向字符类型对象的指针组成的一维数组5) 返回值为指向字符类型的指针的函数,该函数没有参数6) 指向返回值为字符类型的函数的指针,该函数没有参数7) 返回值为指向一维数组的指针的函数,该一维数组由指向返回字符类型的函数的指针组成,函数均没有参数。8)由 3个指向函数的指针组成的一维数组,该函数返回指向由 5个字符组成的一维数组的指针。6.假设一个
3、 float型数组的起始地址是 1100,每个 float型占 4个字节的内存空间,float *p1和 float *p2的值分别是 1112和 1128,表达式 p2 p1等于多少?7.实现库函数 size_t strlen(const char *string);说明:1)要求提供可编译的 c源码。2)要求使用编译测试通过再提交。3)使用指针方式实现,不要用数组下标。8. 实现函数:int findchar(char *strings, char value);在字符串列表strings中查找特定字符 value,返回匹配到的字符串个数。如:字符串列表:“123ASDFG”,“QWRTYOIA”,”ZXCVNMG”查找字符G时,返回 2。查找字符 L时,返回 0。其中字符串列表strings是一个指向以 NULL结尾的指针列表的指针。