Santana Oliveira Posted February 6, 2014 at 07:44 PM Report #544275 Posted February 6, 2014 at 07:44 PM (edited) tenho: new (vec); for j:=1 to 10 do begin writeln ('Introduza um caracter'); readln (vec^[j]); end; for j:=1 to 10 do begin case vec^[j] of 'a','A':a:=a+1; 'e','E':e:=e+1; 'i','I':i:=i+1; 'o','O':o:=o+1; 'u','U':u:=u+1; end; para que serve o ^ neste contexto? Edited February 6, 2014 at 08:29 PM by thoga31 Adicionadas tags GeShi, indentação | Removida poluição desnecessária
nunopicado Posted February 6, 2014 at 07:56 PM Report #544276 Posted February 6, 2014 at 07:56 PM O operador ^, em Pascal, usa-se para aceder/alterar os valores apontados por variáveis ponteiro. No caso concreto, o código aloca memória para a variável vec, que a julgar pelo contexto, é um ponteiro para um array de char. Quando acedes directamente a uma variável ponteiro, estás a aceder não a um valor, mas a um endereço de memória onde esse valor está armazenado. Mas se meteres à frente do nome da variável o operador ^, então aí já estarás a aceder ao valor da variável. Por isso é que, nesse código, sempre que é preciso lidar com essa variável ponteiro como se fosse uma variável normal, mete-se o operador ^. "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
Santana Oliveira Posted February 6, 2014 at 08:04 PM Author Report #544277 Posted February 6, 2014 at 08:04 PM O operador ^, em Pascal, usa-se para aceder/alterar os valores apontados por variáveis ponteiro. No caso concreto, o código aloca memória para a variável vec, que a julgar pelo contexto, é um ponteiro para um array de char. Quando acedes directamente a uma variável ponteiro, estás a aceder não a um valor, mas a um endereço de memória onde esse valor está armazenado. Mas se meteres à frente do nome da variável o operador ^, então aí já estarás a aceder ao valor da variável. Por isso é que, nesse código, sempre que é preciso lidar com essa variável ponteiro como se fosse uma variável normal, mete-se o operador ^. Obrigado pela resposta
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now