1.int型除以float型,还是得到float型.
2.数组初始化,int a[10]={1,2,3,4},则前四个分别为1,2,3,4,其余为0 !
3.32位linux,gcc下,有
sizeof int = 4
sizeof char = 1
sizeof float = 4
4. char s[10];
sizeof(s); //参数是s,值为10
printf("%s",s); //这里也是s
5.变量(int,char等)作函数参数,改变形参对实参没有影响;数组作为函数参数则不同,形参会改变实参的值.
6.数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
即
int a[10];
int*p = a;
sizeof(a); //一般为40
sizeof(p); //一般为4
在函数内:
void f(int a[])
{
sizeof(a); //为4,不管实参传递进来的数组有多少!!!
}
7. 形参的改动对实参的影响:
23 void swap1(int a,int b) //没用
24 {
25 int tmp;
26 tmp=a;
27 a=b;
28 b=tmp;
29 }
30
31 void swap2(int *a,int *b) //也没用,和1一样,a,b的改变不能对&x,&y造成改动
32 {
33 int *tmp;
34 tmp=a;
35 a=b;
36 b=tmp;
37 }
38
39 void swap3(int *a,int *b) //可以.a的改动无效,但是直接改动*a可以!!:
40 {
41 int tmp;
42 tmp=*a;
43 *a=*b;
44 *b=tmp;
45 }
没有评论:
发表评论