一.学习内容总结
- 指针是数据的地址。指针可以指向整形、浮点型、字符型、函数、数组、结构体等一些数据类型。指针指向数组或字符串时指向的是数组首地址。指向二维数组时,指针指向的是二维数组中的第一个元素,也是一个数组。数组名与指针可以通用。指针可以自加或自减,数组名是指针常量,不能自加或自减。指针指向一个二维数组中的一个元素时应用(*p)[n]的形式。*p与p[]等价。**p是一个指向指针的指针,*p指向一个地址,**p指向*p地址中的值。如果要改变一个字符串中的值,不能用指针。
二.遇到的问题
- 为什么无法用指针改变字符串中的值?
- 因为编译器使用的是单次副本表示法,如果改变该字符串中的一个字符,将影响所有使用该字符串的代码。
- 为什么在Pat上做题时显示返回参数错误?
- 把主函数的void类型改成int类型,并在主函数内最后方加return 0;。
三.作业
- 代码
#include <stdio.h> #define SIZE 80 void main() { char char_1[SIZE], ch; int i, j; gets(char_1); ch = getchar(); for(i = 0, j = 0; char_1[i] != ‘\\0‘; i++) { if(char_1[i] == ch) { j++; } } printf("%d", j); }