在这周学习了许多知识,让我充分的意识到了自己的基础确实是有些薄弱了,不过相信在今后的努力中会越来越扎实。
在这周的学习中,重点的讲解了指针,指针运算,指针数组之类的一些知识。自我感觉指针这块还是有点难的,总之,还是要多学,多记 ,多思考,多练习。
Char str[10];str[10] = “abcde”; 字符数组最大到str[9],没有str[10]这个位置
Char str[10];str = “abcde”; str是指针常量,不能给常量赋值
Char *s ;*s = “abcde”; 非法操作零号地址,段错误
Char *s=NULL; s = “abcde”; 可以,先让指针指向零号地址,当需要被指向的字符串出现时,让指针指向字符串
Char *s = “abcde”;*s = “ab” 常量不能被改变
char *s = “abcde”,s = “ab” 改变指针的指向
Char str[10] = “abcde”;char *p; p = str; 可以
Char str[10] = “abcde”,*p = str;P = &str[2]; 此时,printf(“%s”,p);输出结果是cde
Char *s = “abcde”;
s++;printf(“%s”,s);bcde
s++;printf(“%s”,s);cde
s++;printf(“%s”,s);de
s++;printf(“%s”,s);e
Int const **p:不能改变**p
Int ** const p:不能改变p
判断等号两边的数据类型是否相同
当*和&出现在等号的两侧时,一遍多或者少一个*(&),另一边就要多或者少一个&(*)
当*和&出现在同一侧的时候,两个可以相互抵消。
数组指针:他是一个指针,指向了一个数组 int (*p)[5]
指针数组:他是一个数组,里面存放的都是指针 int *p[5]
指针运算:
P+1:往地址增大的方向移动一个数组类型,p的指向没有改变
P-1:往地址减小的方向移动一个数组类型,p不改变
P++:增大的方向移动一个数据类型,p的指向已经改变
- -:减小的方向移动一格数据类型,p改变