第一节 指针
普通变量的值是实际的值
指针变量的值是具有实际值的变量地址,存放的是a变量的地址,指向a
1.1定义指针:数据类型 *指针名:
int *x;
float *f;
char *ch;
1.2 取地址与获取存储内容
(1) 获取地址运算符 &: 如 &i 取变量 i 的地址
(2)指针运算符 * :通过操作对象的地址获取存储的内容,如: x=&i, x为i的地址 ,*x通过i的地址获取i的内容分
// 声明普通变量,存放实际值10
int a=10;
// 声明一个指针pa
int *pa;
//通过地址符&,获取a的地址,将地址赋值给指针变量
pa=&a;
//通过简介寻址符,获取指针存放的地址指向的内容
printf("%d",*pa);
第二节 字符类型
第三节 字符串
3.1定义字符串:指针或者数组
// 指针形式
char *str;
// 数组形式
char word[]="hello";
char line[10]="hello;
3.1修改字符串:
(1)如果是char *s="hello"; 不可以对s所指的字符串修改,因为s实际上是const char*s
(2)如果需要修改字符串应该用数组:char s[]="hello";
3.2指针数组的区别:
(1)数组:这个字符串在这里
(2)指针:这个字符串不知道在哪里,动态分配空间,处理参数;
char*不一定是指字符串,本意是指向字符的指针,只有所指的字符数组有结尾的0,才能说指的是字符串。
3.3字符串字符数组的区别:
(1)字符串本身是存放在以该首地址为首的一块连续的内存空间中并以‘\0’作为串的结束。
字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“b”,s[9]="j"。
(2)字符数组是由于若干个数组元素组成的,用于存放字符或字符串。