到今天为止算是正式把数组,字符串,以及指针这一块初步复习了一遍。
下面是有关知识点总结:
int array[2]={1,2};//一维数组
array:一维数组的地址,同时也是一维数组首元素的地址*
array+i :一维数组第i+1个元素的地址
*array:一维数组首元素的值
*(array+1):一维数组第i-1个元素的的值
*array+1:一维数组首元素的值+1;
int array[3][2]= {{1,2},{3,4},{5,6}};//二维数组
int array[3][2]= {1,2,3,4,5,6};
array:二维数组的首地址,同时是二维数组第一个元素(一维数组)的首地址
array+i;二维数组第i+1个元素(一维数组)的首地址
array[i];二维数组第i+1个元素(一维数组)的首地址
*array:二维数组第一个元素(一维数组)的首地址,同时也是二维数组第一个元素(数组)的第一个元素的地址
*array+i:二维数组第一个元素(一维数组)的第i+1个元素的地址
*array[i]:二维数组第i+1个元素(一维数组)的第一个元素的值
依次类推...
字符串数组定义 char str[20] = {"hello C world!"};二维字符串数组定义: char str[3][10] = {"hello","C","world!"};
字符串有关函数:
头文件 #include <string.h>
size_t strlen(const char *s); //返回字符串长度(不包括'\0');
char *strcat(char *dest,const char *src)//连接两个字符串;
char *strchar(const char *s,int c) //查找字符串中第一个出现的指定字符
int strcmp(const char *s1,const char *s2);//比较字符串,如果s1>s2,返回>0,如果相等,返回0,如果小于,返回小于0的值
char *strcpy(char *dest,const char *src)//拷贝字符串
指针
int p;//普通变量
int *p;返回整型数据的指针
int p[3];由整型数据组成的数组
int *p[3];p是返回整型数据的指针组成的数组
int (*p)[3]:p是指向由整型数据组成的数组的指针
int p(int):返回值是一个整型数据的函数
int *p(int):返回值是指向整型数据的指针的函数,指针函数
int (*p)(int):指向一个有整型参数且返回类型为整数的函数的指针,函数指针