#include <stdio.h>
int main(void)
{
int num[4][2];
num;
num[0];
return 0;
}
Deixe-me discutir a diferença entre num e num [0]. De acordo com minha análise, ambos representam endereços, mas usarei num [4] [2] para visualizar e entender
Este deve ser o modo de armazenamento da matriz bidimensional no espaço.
num
num [0]
Há uma pequena diferença entre os dois, embora o endereço do primeiro elemento armazenado seja o endereço de num [0] [0], mas os dois representam diferentes
num, num + 1, num + 2
são os endereços que representam o tamanho de dois tipos int, ou seja,
num [0], num [1], num [2] representa o endereço do primeiro elemento desta linha, representa um endereço do tipo int.
No entanto, & num [0] é igual a num. Representa esta linha, representando uma matriz.
Uma matriz bidimensional pode ser considerada como duas matrizes, as linhas são acessadas primeiro e, em seguida, as colunas. Insira primeiro a matriz de linha e, em seguida, insira a matriz de coluna de acordo com o endereço armazenado na matriz de linha. Apenas números ou elementos são armazenados na matriz da coluna.
num é um ponteiro secundário.
Em primeiro lugar * a num, representa a aplicação solução, entrar neste fileira de matriz, e em seguida resolver a aplicação num novamente , extrair o número armazenado o endereço do primeiro elemento da matriz, ou tratá-la como
( ( num + 0) +0), os colchetes dentro representam O primeiro elemento cujo array está fora dos parênteses é o primeiro elemento, que tem o mesmo significado que num [0] [0].
Isso é principalmente para discutir o modo de armazenamento de uma matriz bidimensional na memória.
Se houver um erro, por favor, dê um conselho.
Há mais.
Ponteiro avançado - UM