| 第一章C语言标准定义的32个关键字: sizeof(计算对象所占内存空间大小),char(一个字节),long(long int 一个字长),int(32与64位机器上为4字节,8位机器上为2字节),short( 32与64位机器上为2字节,8位机器上为1字节),longlong(32与64位机器都为8字节),float(4),double(8),const,volatile,goto,extern(声明变量是在其他文件中声明)...
 备注:char* ( 32位机器上为4字节,64位机器上为8字节,也就是字长)
 char str[10] ={1,2,3,4,5,6,7,8,9,10}; sizeof(str) =10; strlen(str)= 415;
 char str[10] = {1,2,3,4,5,6,7,8,9,0}; sizeof(str) = 10; strlen(str)=9;
 char str[10] = “dasfad”;
 int main()
 {
 char a[1000];
 int i;
 for(i=0; i<1000; i++)
 {
 a[i] = -1-i;
 }
 printf("%d",strlen(a)); //这里等于多少? 255这个就很好的说明了strlen的计算。strlen用来统计字符串的长度,遇到'\0'(0)停止计数,表示‘\0’(0)占有多少个字节(因为是为字符串统计的,所以是字符,字节),如果 改为int a[1000] 结果为1020
 return 0;
 }
 
 ////////////////
 void fun(int c[100])
 {
 printf("%d\n",(int)c);// 形参为一个数组
 printf("%d\n",sizeof(c)); //这里的值为4(32位机) 因为形参这里被转换成一个指向int的地址,                              并不是一个含有100个int的数组地址,-> int * c;所以计算长度时为                              4,但同样可以以c[50]这样的方式访问数组,因为才c[50] 这个形式在                               访问时是要经过转换的,转换成地址 *(c +50)
 }
 
 
 
 |