午夜网站国产欧美_加勒比视频亚洲无码_91亚洲人人在字幕国产_18禁止美女爆乳免费网站_被消防员c哭高h野外糙汉动漫_午夜精品视频在线无码_gogowww人体大胆裸体午液_2021自拍偷区亚洲综合第一页_国产欧美一区二区精品性色超碰_99國產精品無碼

Hi,您好,歡迎來到西安盛圖軟件科技有限公司!

C++基礎(chǔ)| 指針數(shù)組

發(fā)布時間:2023-11-23 14:20:16

指針的數(shù)組,實際是一個數(shù)組,長度由數(shù)組本身決定,這個數(shù)組的所有元素都是指針類型,存放的都是地址。指針數(shù)組是一個由指針變量組成的數(shù)組,也就是說其中的元素都是指針變量。本文主要是C++指針數(shù)組和數(shù)組指針及區(qū)別。


1、指針數(shù)組

指針數(shù)組的定義:type* pArray[n];    例如,  int* pa[3]

指針數(shù)組中每個元素為一個指針

type*為數(shù)組中每個元素的類型

pArray為數(shù)組名

n為數(shù)組大小

例如,

#include <iostream>
using namespace std;
#include <string.h>

int lookup_keyword(const char* key, const char* table[], const int size)
{
   int ret = -1;
   int i = 0;
   for(i=0; i<size; i++)
   {
       if(strcmp(key, table[i]) == 0)
       {
           ret = i;
           break;
       }
   }
   return ret;
}
#define DIM(a) (sizeof(a)/sizeof(*a))
int main()
{
   const char* keyword[] = {
           "do",
           "for",
           "if",
           "register",
           "return",
           "switch",
           "while",
           "case",
           "static"
   };
   cout <<  lookup_keyword("return", keyword, DIM(keyword)) << endl;
   cout <<  lookup_keyword("main", keyword, DIM(keyword)) << endl;
}

2、數(shù)組指針

數(shù)組指針用于指向一個數(shù)組。

數(shù)組名是數(shù)組首元素的起始地址,但并不是數(shù)組的起始地址 

通過將取地址符&作用于數(shù)組名可以得到數(shù)組的起始地址,例如,&array

可通過數(shù)組類型定義數(shù)組指針: ArrayType* pointer; 例如, array int* pc

也可以直接定義:type (*pointer)[n];例如,int (*pc)[5]

pointer為數(shù)組指針變量名

type為指向的數(shù)組的類型

n為指向的數(shù)組的大小

#include <iostream>
using namespace std;

typedef int(AINT5)[5];
typedef float(AFLOAT10)[10];
typedef char(ACHAR9)[9];
int main()
{
   AINT5 a1;
   float fArray[10];
   AFLOAT10* pf = &fArray;
   ACHAR9 cArray;
   char(*pc)[9] = &cArray;
   int i = 0;
   printf("%d, %d\n", sizeof(AINT5), sizeof(a1));
   for(i=0; i<10; i++)
   {
       (*pf)[i] = i;
   }
   for(i=0; i<10; i++)
   {
       printf("%f\n", fArray[i]);
   }
   printf("%0X, %0X\n", &cArray, pc+1);
}


3、指針數(shù)組和數(shù)組指針的區(qū)別

1)指針數(shù)組

指針數(shù)組:指針數(shù)組可以說成是 ”指針的數(shù)組”,首先這個變量是一個數(shù)組。

其次,”指針”修飾這個數(shù)組,也就是說這個數(shù)組的所有元素都是指針類型。

在 32 位系統(tǒng)中,指針占四個字節(jié)。

2)數(shù)組指針

數(shù)組指針:數(shù)組指針可以說成是”數(shù)組的指針”,首先這個變量是一個指針。

其次,”數(shù)組”修飾這個指針,也就是說這個指針存放著一個數(shù)組的首地址,或者說這個指針指向一個數(shù)組的首地址。

所以指針數(shù)組和數(shù)組指針的區(qū)別,因為二者根本就是兩種類型的變量。


以上為本次所有分享內(nèi)容

addffbe8602b57d798f22949b3de8ce.png

上一篇:|C語言|函數(shù)的定義
下一篇:C++| 枚舉(enum)

歡迎登錄盛圖科技

歡迎注冊盛圖科技

已有賬號,立即登錄