1.整型(其他类型同理)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int change(int *a){
*a=100;
}
int main()
{
int b=11;
printf("before change: b=%d\n",b);
change(&b);
printf("after change: b=%d\n",b);
}
结果如下:
before change: b=11
after change: b=100
此处的函数如果不用指针的话,b的值是不会变得
如:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int change(int a){
a=100;
}
int main()
{
int b=11;
printf("before change: b=%d\n",b);
change(b);
printf("after change: b=%d\n",b);
}
结果为:
before change: b=11
after change: b=11
2.数组
例如:
#include<stdio.h>
int main() {
int a[5]={1,2,3,4,5};
int *p=a;//定义一个指针
p=a;//指针指向数组第一个元素的位置
//切记不要写成 *p=a; *p是地址p所对应元素,而a表示为数组a第一个元素的地址,即a[0]的地址
for(int i=0;i<5;i++)
{
printf("%d ",*(p+i));
}
}
结果如下:
1 2 3 4 5