首页 > 代码库 > 8.1

8.1

     即使数组未赋值  指针变量仍可以指向后面的数组元素

++和*有相同优先级

void fun(int arr[]);相当于void fun(int *arr);形参相当于一个指针变量   !!!传递数组名时(即使名字不同) 相当于把实际地址传给函数 两者共用一段内存单元 故对函数内数组的更改会影响主函数的数组

fun(array);

*(a[i]+j) 表示a【i】【j】

等号的左边只能是变量,不可以是表达式  即使表达式是 个常量

  1. p2 - p1 ==2 表示*p2 与*p1中间隔了两个元素
  2. # include<stdio.h>  
  3. # include<string.h>  
  4. int main()  
  5. {  
  6.     void reverse(char *p1,int n1); 意思是传入一个地址   数组名表示数组首元素的地址
  7.     char s[1000];  
  8.     char *p;  
  9.     p=s;///!!!! p=&s[0]  
  10.     gets(s);  
  11.     int n=strlen(s);  
  12.     reverse(p, n);/////!!!!!  
  13.     return 0;  
  14. }  
  15.   
  16. void reverse(char *p1,int n1)  
  17. {  
  18.     for(int i=0;i<n1;i++)  
  19.     {  
  20.         char c[1000];  
  21.         c[i]=*(p1+n1-1-i);  
  22.         printf("%c",c[i]);  
  23.     }  
  24. }  

8.1