Articles of pointers

Devo usar char ** argv ou char * argv em C?

Eu só estou aprendendo C e queria saber qual desses eu deveria usar no meu método principal. Existe alguma diferença? Edit: Então, qual é o mais comum de usar?

Aritmética de ponteiro em C

Considere o seguinte fragment de código: int (*p)[3]; int (*q)[3]; q = p; q++; printf(“%d, %d\n”, q, p); printf(“%d\n”, qp); Eu sei que a aritmética do ponteiro é inteligente, o que significa que a operação q++ avança q bytes suficientes à frente para apontar para os próximos 3 inteiros, então não me surpreende que a […]

Ponteiros em C: quando usar o e comercial e o asterisco?

Estou apenas começando com pointers e estou um pouco confuso. Eu sei & significa o endereço de uma variável e que * pode ser usado na frente de uma variável de ponteiro para obter o valor do object que é apontado pelo ponteiro. Mas as coisas funcionam de maneira diferente quando você está trabalhando com […]

C / C ++: aritmética de ponteiro

Eu estava lendo um pouco em Aritmética de Ponteiro, e me deparei com duas coisas que eu não conseguia entender nem sei que é uso address_expression – address_expression e também address_expression > address_expression Alguém pode por favor explicá-los para mim, como eles funcionam e quando são usados. Editar: O que eu quis dizer é o […]

Expressões de ponteiro: * ptr ++, * ++ ptr e ++ * ptr

Recentemente me deparei com esse problema que não consigo entender sozinho. O que essas três expressões REALMENTE significam? *ptr++ *++ptr ++*ptr Eu tentei o Ritchie. Mas infelizmente foi incapaz de seguir o que ele disse sobre essas 3 operações. Eu sei que eles são todos executados para incrementar o ponteiro / o valor apontado. Eu […]

O Java tem pointers?

Se o Java não tem pointers, então o que a new palavra-chave faz em Java?

C ++ padrão: desreferenciando o ponteiro NULL para obter uma referência?

Eu estou querendo saber sobre o que o padrão C ++ diz sobre o código como este: int* ptr = NULL; int& ref = *ptr; int* ptr2 = &ref; Na prática, o resultado é que ptr2 é NULL, mas eu estou querendo saber, isso é apenas um detalhe de implementação ou isso é bem definido […]

Como eu faço um literal * int64 no Go?

Eu tenho um tipo de estrutura com um campo *int64 . type SomeType struct { SomeField *int64 } Em algum momento do meu código, eu quero declarar um literal disso (digamos, quando eu sei que o valor deve ser 0, ou apontando para um 0, você sabe o que eu quero dizer) instance := SomeType{ […]

determine o tamanho da matriz se passado para a function

É possível determinar o tamanho de um array se ele foi passado para outra function (o tamanho não é passado)? A matriz é inicializada como int array [] = {XXX}. Eu entendo que não é possível fazer sizeof uma vez que irá retornar o tamanho do ponteiro .. Razão que peço é porque eu preciso […]

Por que não consigo converter ‘char **’ em ‘const char * const *’ em C?

O trecho de código a seguir (corretamente) fornece um aviso em C e um erro em C ++ (usando gcc & g ++ respectivamente, testado com as versões 3.4.5 e 4.2.1; o MSVC não parece se importar): char **a; const char** b = a; Eu posso entender e aceitar isso. A solução C ++ para […]