int a[10];//10指明了数组的长度;即数组的下标上界是9;a[10]是无效的
int *c,*p;
c=a;//实际被赋值的是一个指针的拷贝,c所指向的是数组的第一个元素
sizeof(a);//此时a代表是整个数组返回数组的长度,在32位系统,值为4*10
a[2];//下标引用
*(a+2);//间接访问//除优先级外,下标引用和间接访问完全相同
*p=a+2;//此时a代表首元素地址
char *p=”acbdef”;//sizeof(p)的值4
//p是个指针本身占4字节(32系统),但是p的值,即在这4字节//内存里存放了一块内存的首地址.
*(p+4)=d;
p[4]=d;//这两种方式等价
//&a+1值下个数组的首地址,并不是第二个元素a[1]的地址
char p[]=”abcdef”;//定义了一个数组,拥有7个char类型元素
//sizeof(p)的值为7
*(p+4)=d;
p[4]=d;//两种等价
int *p[10];//指针型数组优先级()>[]>*
int (*p)[10];//数组型指针,元素是整数;p指向包含10个整型数//据的数组;在这里,数组并没有名字
int i=10,j=10;
int a,b;
a=i++;//a的值是10
b=++j;//b的值是11
//优先级中,自增++运算符高于赋值=运算符,注意以上情况;
//函数调用是值传递假如main函数变量n=10要调用一个函数e(n),
//e得到的是n的值,对n的值进行了一次复制。变量n不受e 函数//影响。int a[10];//10指明了数组的长度;即数组的下标上界是9;a[10]是无效的
int *c,*p;
c=a;//实际被赋值的是一个指针的拷贝,c所指向的是数组的第一个元素
sizeof(a);//此时a代表是整个数组返回数组的长度,在32位系统,值为4*10
a[2];//下标引用
*(a+2);//间接访问//除优先级外,下标引用和间接访问完全相同
*p=a+2;//此时a代表首元素地址
char *p=”acbdef”;//sizeof(p)的值4
//p是个指针本身占4字节(32系统),但是p的值,即在这4字节//内存里存放了一块内存的首地址.
*(p+4)=d;
p[4]=d;//这两种方式等价
//&a+1值下个数组的首地址,并不是第二个元素a[1]的地址
char p[]=”abcdef”;//定义了一个数组,拥有7个char类型元素
//sizeof(p)的值为7
*(p+4)=d;
p[4]=d;//两种等价
int *p[10];//指针型数组优先级()>[]>*
int (*p)[10];//数组型指针,元素是整数;p指向包含10个整型数//据的数组;在这里,数组并没有名字
int i=10,j=10;
int a,b;
a=i++;//a的值是10
b=++j;//b的值是11
//优先级中,自增++运算符高于赋值=运算符,注意以上情况;
//函数调用是值传递假如main函数变量n=10要调用一个函数e(n),
//e得到的是n的值,对n的值进行了一次复制。变量n不受e 函数//影响。
文章评论(0条评论)
登录后参与讨论