总结一下今天学习C程序设计语言的小结。
第一点,字符指针与函数:字符串常量是一个字符数组,如“I am a string”,在字符串的内部表示中,字符数组以空字符’\0’结尾,所以,程序可以通过检查空字符找到字符数组的结尾。
字符串常量最常见的用法是作为函数的参数:如,printf(“hello,world\n”);除此之外,还有假定指针pmessage的声明:char * pmessage;那么pmessage =“now is the time”;将把一个指向该字符数组的指针赋值给pmessage。该过程并没有进行字符串的复制,而只是涉及到指针的操作。在这里必须要有个注意的就是定义数组和定义指针的差别,如下:
Char amessage[] =”now is the time”;/*定义一个数组*/
Char *pmessage[] =”now is the time”;/*定义一个数组*/
在上面的声明中,amessage是一个仅仅足以存放初始化字符串以及空字符‘\0’的唯一数组。数组中的单个字符可以进行修改,但amessage始终指向同一个存储位置。另一方面呢
Pmessage是一个指针,其初值指向一个字符常量,之后他可以被修改以指向其他地址,但如果试图修改字符串的内容,结果是没有定义的,如图所示:
习题: 用指针实现函数strcat(s,t)将t指向的字符串复制到s指向的字符串的尾部。
做了挺久啊,艰难。。下面是调式截图: