C語言指針數組介紹,定義指針數組,輸入輸出指針數組

指針數組

1、什麼是指針數組;

(1)數組裏面的每一個元素不是值而是指針。
(2)把很多的指針集合在一起,就是一個指針數組

2、定義一個指針數組:

類型標識符 *數組名[長度];
比如:int *a[4];
定義了一個數組名爲a,它裏面含有幾個四個元素,他們分別是a[0],a[1],a[2],a[3],它們每個都是一個指針。

3、如何給指針數組賦初值:

//其中a是一個普通數組,b是指針數組,即b數組當中的每一個值都是指針
int a[3] = {1,2,3},*b[3]={a,a+1,a+2};
printf("%d",*b[0]);

a ----------> a[0] <--------b[0]
a+1 ------> a[1] <--------b[1]
a+2 ------> a[2] <--------b[2]

#include<stdio.h> 
void main(){
	int a[4]={1,2,3,4},*b[4]={a,a+1,a+2,a+3};
	*b[0]=*b[0]+1;//2
	*b[1]=*b[1]+1;//3
	printf("%d,%d",a[0],a[1]);//2 3
}

在這裏插入圖片描述
變換

 #include<stdio.h> 
void main(){
	int a[4]={1,2,3,4},*b[4]={a,a+1,a+2,a+3};
	*b[0]=*b[0]+1;//2
	*b[1]=*b[1]+1;//3
	printf("%d,%d,%d",a[0],a[1],**b);//2 3 2
}

在這裏插入圖片描述

**(p+1) 和 *(*p+1)的區別
	#include<stdio.h> 
void main(){
	int a=1,b=4,*p[2]={&a,&b};
	**(p+1)=a*b;//b=a*b=4
	*(*p+1)=a+b;//*(p[0]+1)
	printf("a=%d,b=%d",a,b);
}

在這裏插入圖片描述
變換

#include<stdio.h> 
void main(){
 
 	char *aa[2]={"abcd","ABCD"};
	printf("%s",*(aa+1));
}

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章