#include<stdio.h>
void main(){
int i;
int *pa;
int a[3]={100,200,300};
pa=&a[0];
for(i=0;i<3;i++){
printf("%d %d\n",a[i],*(pa+i));
}
}
#include<stdio.h>//
void main(){
int i;
int *pa;
int a[20];
pa=&a[0];
for(i=0;i<20;i++){
printf("input#%d ",i+1);
scanf("%d",&a[i]);
}
for(i=0;i<20;i++){
printf("%d %d\n",a[i],*(pa+i));
}
}
#include<stdio.h>
void main(){
int i;
int *pa;
int a[20];
for(i=0;i<20;i++){
a[i]=2*i;
pa=&a[i];
printf("%d \n",*pa);
}
for(i=0;i<20;i++){
a[0]=0;
pa=&a[0];
printf("%d",*(pa+i));
}
}
#include<stdio.h>
void main(){
int a[20];
int *pa;
int i;
for(i=0;i<20;i++){
a[i]= i*2;
}
// 使用指针的方式,将数组所有元素输出
// 1
for(i=0;i<20;i++){
pa = & a[i];
printf("%d ",*pa);
}
printf("\n");
// 2
pa = &a[0];
for(i=0;i<20;i++){
printf("%d ",*(pa+i)); //pa访问a的地址后,偏移i个单位,取出了偏移i个单位后的值
}
printf("\n");
// 3
for(i=0;i<20;i++){
printf("%d ",*(a+i));//a(address),是一个指针,a+i 偏移i个单位
}
printf("\n");
// 4
// ****** addr[i] == *(addr+i) ******
for(i=0;i<20;i++){
printf("%d ", pa[i]);//pa[i]=*(pa+i)
}
printf("\n");
}
#include<stdio.h>
void change(int a[20]){
a[0]+=10;
a[1]+=10;
}
void main(){
int a[20];
a[0]=1;
a[1]=2;
change(a);
printf("%d %d",a[0],a[1]);
}
#include<stdio.h>
void main(){
int a[20];
int *pa;
int i;
for(i=0;i<20;i++){
a[i]= i*2;
}
// 使用指针的方式,将数组所有元素输出
// 1
for(i=0;i<20;i++){
pa = & a[i];
printf("%d ",*pa);
}
printf("\n");
// 2
pa = &a[0];
for(i=0;i<20;i++){
printf("%d ",*(pa+i));
}
printf("\n");
// 3
for(i=0;i<20;i++){
printf("%d ",*(a+i));
}
printf("\n");
// 4
// ****** addr[i] == *(addr+i) ******
for(i=0;i<20;i++){
printf("%d ", pa[i]);
}
printf("\n");
}
#include<stdio.h>
void main(){
int a;
int *pa;
a = 10;
//通过指针的方式输出a的值
// *pa = &a; error,
pa = &a;
printf("%d ",*pa);
}
#include<stdio.h>
void main(){
int a[20];
int i;
for(i=0;i<20;i++){
a[i]= i*2;
}
// a是什么, a是个数组
printf("a: %d\n",a);
for(i=0;i<20;i++){
printf("a[%d]: address %d, value %d\n",i,&a[i],a[i]);
}
}
// 函数调用
#include<stdio.h>
void change(int a){
a += 10;
}
void main(){
int a = 20;
change(a);
printf("%d ",a);
}
// 函数调用
#include<stdio.h>
void change(int *a){
a[0] += 10;
a[1] += 10;
}
void main(){
int a[2] = {20,30};
change(a);
printf("%d %d",a[0],a[1]);
}