1. 程式人生 > >定義陣列指標的三種方法

定義陣列指標的三種方法

1)通過資料型別定義陣列指標:

 typedef int(ArrayType)[5];  int *a ArrayType* pointer;

2) 宣告一個數組指標型別

 typedef int (*MyPointer)[5];

 MyPointer myPoint;

3)直接定義:

  type (*pointer)[n];   

pointer 為陣列指標變數名  type 為指向的陣列資料型別 

n  為指向的陣列的大小

注意這個地方是type型別(比如 int (*pointer)[10])

 //定義陣列指標變數的第一種方法
 int main12()
 {
	 typedef int (myArr)[5];//定義一個數據型別 陣列資料型別
	 myArr myArr1;// int myArr1[5] 
	 myArr *pArray;//定義一個指標變數 這個指標變數指向一個數組
	 int i;

	 {
		 int a ;
		 int *p = NULL;
		 p = &a;

	 }
	 {
		
		 for (i=0;i<5;i++)
		 {
			 myArr1[i] = i+1;
		 }
		 pArray = &myArr1;
		 for (i=0;i<5;i++)
		 {
			 printf("(*pArray)[%d]:%d\n",i,(*pArray)[i]);
		 }
	 }
	 
	 system("pause");
	 return 0;
 }
 //定義陣列指標變數的第二種方法
 
 int main13()
 {
	typedef int (*PMyArr)[5];//定義一個數據型別 陣列指標型別
	
	PMyArr pArray;//告訴編譯器分配一個指標變數 

	int c[5];
	int i;

	pArray = &c;

	for (i=0;i<5;i++)
	{
		(*pArray)[i] = i+1;
	}

	for (i=0;i<5;i++)
	{
		printf("%d\n",(*pArray)[i]);
	}
	system("pause");
	return 0;
 }

 //定義陣列指標變數的第三種方法
 //前兩種方法通過資料型別定義變數 比較麻煩

 int main()
 {
	 int (*PMyArr)[5];//直接定義一個 陣列指標變數 

	 int c[5];
	 int i;

	 PMyArr = &c;

	 for (i=0;i<5;i++)
	 {
		 (*PMyArr)[i] = i+1;
	 }

	 for (i=0;i<5;i++)
	 {
		 printf("%d\n",(*PMyArr)[i]);
	 }
	 system("pause");
	 return 0;
 }


相關推薦

JS定義二維陣列方法

方法一:直接定義並且初始化,這種遇到數量少的情況可以用 var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]] 方法二:未知長度的二維陣列 複製程式碼程式碼如下: var tArray = new A

【Javascript】JS遍歷陣列方法:map、forEach、filter

前言   近一段時間,因為專案原因,會經常在前端對陣列進行遍歷、處理,JS自帶的遍歷方法有很多種,往往不加留意,就可能導致知識混亂的現象,並且其中還存在一些坑。前端時間在ediary中總結了js原生自帶的常用的對陣列遍歷處理的方法,分別為:map、forEach、filter,在講解知識點的同時,會類比相識

函式指標方法

//函式指標定義 //1 typedef int(fun_point1)(int, int); int get_sum(int a, int b) { return a + b; } typedef int(*fun_point2)(int, int); int main(void) { //

JavaScript清空陣列方法

1、length        用length方法可以很輕鬆地清空陣列,程式碼示例:var arr = [1,2,3];console.log(arr); arr.length = 0;console.log(arr);結果如下:2、splisesplice() 方法向/從陣

C語言動態申請陣列方法

方法一:用陣列指標形式申請一個三維陣列。 #include <stdio.h> #include <stdlib.h> int main() {

求最大子陣列方法

(1)暴力求解,執行時間是n²        int ans = -1000000;          for(int i=0; i<n; i++)          {              int sum = 0;              for(int j=

定義陣列指標方法

1)通過資料型別定義陣列指標:  typedef int(ArrayType)[5];  int *a ArrayType* pointer; 2) 宣告一個數組指標型別  typedef int (*MyPointer)[5];  MyPointer myPoint;

js二維陣列定義和初始化的方法

<script> var allarray=new Array(); var res=""; function loaddata() { for(var i=0;i<3;i++) { var starth=i*200; var strarw=i*200; var

js 二維陣列 定義和初始化 方法

來源:http://hi.baidu.com/tang_guangyao/item/238af7f1f33b0631d6ff8ce7 方法一:直接定義並且初始化,這種遇到數量少的情況可以用 var _TheArray = [["0-1","0-2"],["1-1"

排序演算法1——圖解氣泡排序及其實現(方法,基於模板及函式指標

排序演算法1——圖解氣泡排序及其實現(三種方法,基於模板及函式指標) 排序演算法2——圖解簡單選擇排序及其實現 排序演算法3——圖解直接插入排序以及折半(二分)插入排序及其實現 排序演算法4——圖解希爾排序及其實現 排序演算法5——圖解堆排序及其實現 排序演算法6——圖解歸併排序及其遞迴與非

求逆序對個數的方法(歸併排序,樹狀陣列,權值線段樹)

求逆序對個數的三種方法 逆序對: 對於一個序列 a1a_1a1​,a2a_2a2​,a3a_3a3​…ana_nan​,如果存在aia_iai​>aja_jaj​且i<j,則aia_iai​和aja_jaj​為一個逆序對。 這裡將介紹3種求逆序對對數

字串或陣列全排列的方法

先看最簡單的一種: void perm2(int *arr, int n, int len) { for (int i = 0; i < len; i++) {

陣列定義方式

1.陣列的定義 用於儲存同一型別資料的集合,其實陣列就是一個容器。 連續的儲存單元 2.陣列的好處 自動給陣列中的元素從零開始編號。自動給下標,從零開始0-1-2-3-…… 3.書寫格式       元素型別[]  陣列名 =    new   元素型別[]{

Matlab中陣列元素引用——方法

1.Matlab中陣列元素引用有三種方法 1 2 3 1.下標法(subscripts) 2.索引法(index) 3.布林法(Boolean) 注意:在使用這三種方法之前,大家頭腦一定要

方法尋找陣列前K個最大的數

package com.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.List; //給定一個長度為n的陣列,尋找其中最大的k個數 public class Find

第六章:方法輸出陣列元素,二維陣列的輸出方式

1使用陣列名和下標 #include<iostream> using namespace std; int main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; for(int i=0;i<10;i++) cout<&

JS:陣列降維の方法

var arr = [ [0,1,2,3], [4,5,6,7], [8,9,0,1], [2,3,4,5] ]; 1.兩層迴圈 var result =

C++ 建立陣列的幾方法

(1)結構體宣告三維陣列 #include "stdafx.h" #include <iostream> #include <vector> using namespace std; int NX=2100; int NY=400; int NZ=5

解決最大子陣列之和的方法

所謂最大子陣列問題,就是在給定的一串包含正數,負數的陣列中,找出最大的子陣列的和例如:輸入:1,-2,3,10,-4,7,2,-5最大子陣列和為18一般而言,有三種辦法可以用於解決這個問題1.暴力破解法暴力破解法就是將所有的子陣列的和全部加起來,取最大的演算法最簡單,但是時間

演算法--方法求連續子陣列的最大和

這是一道考的爛的不能再爛的題目,但是依然有很多公司樂於將這樣的題目作為筆試或面試題,足見其經典。 題目描述: 輸入一個整形陣列,數組裡有正數也有負數。 陣列中連續的一個或多個整陣列成一個子陣列,每個子陣列都有一個和。 求所有子陣列的和的最大值。要求