指針
簡單的了解
<u>指針就是變量的位址</u>
指針變量的定義
int* p;
double* p;
char* p;
指針變量的位址
int a;
int* p=&a;
//或者也可以這樣寫
int a;
int* p;
p=&a;
注意
需要注意的是:
是指針變量類型,後面的
int*
才是指針變量 用來儲存位址,是以位址&a是指派給
p
而不是
p
*p
指正與數組
#include<stdio.h>
int main(){
int a[10]={1,2,3,6,3,3,0};
int* p=a;
printf("%d",*p);
return 0;
}
output
1
指針作為參數
#include<stdio.h>
void swap(int *a,int *b);
void main(){
int str[10];
int i,j;
printf("請輸入十個數字并且以空格分開\n例如這樣1 2 3 6 5 2 3 5 4 32 2\n");
for(i=0;i<10;i++){
scanf("%d",&str[i]);
}
for(i=0;i<10;i++){
for(j=i+1;j<10;j++){
if(str[i]>str[j]){
swap(&str[i],&str[j]);
}
}
}
printf(" \n");
for(i=0;i<10;i++){
printf("%d ",str[i]);
}
printf("\n");
}
void swap(int *a,int *b){
int c;
c=*a;
*a=*b;
*b=c;
}
#include<stdio.h>
void change(int x){
x=1;
}
int main(){
int x=2;
change(x);
printf("%d",x);
return 0;
}
//output:2
#include<stdio.h>
void change(int &x){
x=1;
}
int main(){
int x=2;
change(x);
printf("%d",x);
return 0;
}
//output:1