anuário
matrizes de ponteiro e diferenças ponteiro matriz e relações
matrizes de ponteiro e diferenças ponteiro matriz e relações
- Disposição ponteiro: uma matriz, e o ponteiro de matriz é armazenada em cada elemento
- ponteiro matriz: um ponteiro e pontos a uma matriz
Primeiro exemplo:
Uma matriz de ponteiros 10:
int *a[10];
10 tem um ponteiro que aponta para uma matriz numérica de números inteiros:
int(*a)[10];
Array ponteiro
#include <stdio.h>
#include <iostream>
int main()
{
int a = 1;
int b = 2;
int c = 3;
int *x[3];
x[0] = &a;
x[1] = &b;
x[2] = &c;
for (int i = 0; i <3; i++)
{
printf("指针:%d, 值:%d\n", x[i], *x[i]);
}
system("pause");
return 0;
}
Execute as seguintes:
ponteiro do array
Eu estava pensando que uma matriz de ponteiros que o cenário é? Big brother porque se sente personalizada C ++ regras, especificamente a definição de um ponteiro para a matriz, eu não sei fraca, após uma dedução por exemplo, para entender, parece variedade ponteiro e matriz de ponteiros, mesmo usado em conjunto realmente útil, por exemplo, colocar algumas cordas em uma matriz, em seguida, cada corda é uma matriz de elementos, o quão rápido eu posso extrair uma matriz de cadeia em qualquer dele? E como extrair rapidamente a qualquer um dos caracteres na seqüência ele? Que é um cenário de prática ponteiro array:
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
const char *str[4] = {"Welcome","to","Fortemedia","Nanjing"}; //定义了一个指针数组,但里面没有存放指针变量,而是字符串。
const char **p = str;//定义一个指向指针数组的数组指针
printf("指针指向数组的首字符:%c\n",**p);
printf("指针指向当前字符的在ascaⅡ码中的下一个:%c\n", **p + 1);
printf("指针指向第二个字符串的首字符:%c\n", **(p + 1));
printf("指针指向第二个字符串:%s\n", *(p+1));
system("pause");
return 0;
}
Como muito perto de "p **", "** p + 1", "** (p + 1)", "* (p + 1)" representam um significado diferente, de um ponteiros diferentes e mudança de dois ponteiros é comutada para apontar para a cadeia de caracteres seguinte ou o próximo.