1,计算机中的内存都是有编号的
2.char占一个字符,char a[6]占6个字节,char a[5][3]占15个字节
short占2个字符,short b[4]占8个字节
int占4个字符,int c[3]占12个字节
3,字符串
数组的长度包含末尾的结束符,而字符串长度不包含,如:char str[]="hi",数组长度是3,
共3个元素:104,105,0(即 ’h' ‘i' ’\0');字符串长度为2.
4,%d对应的是int型,%u对应的是unsigned int型
5,对于浮点数来说,相除后仍然是浮点数(保留小数部分)。如:22.0/5.0 其值为4.4.
6,当一个表达式中出现多个运算符时,需要考虑优先级的问题,以最简单的算术运算符为例,它们的优先级从高到低依次是 * / % + -
7,当return语句的作用:1)返回一个值,2)函数立即退出
8,带有默认值的参数必须排在后面,如void Show (int x,int y=1,int z=4)//可以
void Show(int x=1,int y, int z)//错误!带默认值的参数应该再后面
9,在指针中:int *a;a为指针变量,可以将int*表示为一个整数,*p表示取得p内存的值
*只能用于指针类型的整数
10,int a=10;
int *p=&a;//此时*p=00XF0010,大概就是这个意思
*p+=1;//*p=*p+1;表示为*p=00XF0011,只是数值上加1
——————————————————
int arr[3]={1,2,3};
int *p=arr;//int *p=&arr[0];
p+=1;//p=p+1//后移一个元素,即*p=arr[1]
11.int arr[4]={1,2,3,4};
*(arr+3)=10; //即为 *arr[3]=10;
12.指针加减法是直接加减,整数加减法是所占字节数的加减法。
13.传值相当于是拷贝,占有别的内存;指针传值是传的地址,在原有的地址上操作,不开辟新的内存。
-----------------
1,pow(x,y);//其作用是计算x的y次方
2,char a[6][9];
*(p+i*9+j)表示第i行第i列
//p时二维数组的首地址,*p就是第一个字符,当i=1,j=1时,就是第二行第二个字符
3,赋值符号“=”号两边的数据类型必须是相同的,如果不同需要显现或隐式的类型转换
1.链表的存储空间是动态创建的,是可以添加对象和删除对象的,弥补了数组不能添加和删除。
2,使用malloc要加头文件#include <stdlib.h>
3,字符串中str+1也是表示一个字符串,例如,str[6]="hello",str+1="ello"