一.学习内容总结
- 指针是数据的地址。指针可以指向整形、浮点型、字符型、函数、数组、结构体等一些数据类型。指针指向数组或字符串时指向的是数组首地址。指向二维数组时,指针指向的是二维数组中的第一个元素,也是一个数组。数组名与指针可以通用。指针可以自加或自减,数组名是指针常量,不能自加或自减。指针指向一个二维数组中的一个元素时应用(*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);
}