Skip to main content

Learning C from Snippets : What does pointer +1 means ?

int main(int argc, char** argv) {
char p[3][4]={{'R','B','R','a'},{'S','R','K','a'},{'A','P','J','a'}};
printf("%d\n",p); //Prints 7339584
printf("%d",p+1); //Prints 7339588 , i.e there is an addition of 4 to the previous number
return 0;
}
int main(int argc, char** argv) {
char p[3][3]={{'R','B','R'},{'S','R','K'},{'A','P','J'}};
printf("%d\n",p); //Prints 7339584
printf("%d",p+1);//Prints 7339583
return 0;
}
_________________________________________________________________________________

int main(int argc, char** argv) {

char p[3][2]={{'R','A'},{'S','R'},{'A','P'}};
printf("%c",*(p+1)); //Prints B
return 0;
}
int main(int argc, char** argv) {
char p[3][3]={{'R','B','R'},{'S','R','K'},{'A','P','J'}};
printf("%c",*(p+1)); //Prints C
return 0;
}
int main(int argc, char** argv) {
char p[3][4]={{'R','B','R','A'},{'S','R','K','J'},{'A','P','J','T'}};
printf("%c",*(p+1)); //Prints D
return 0;
}
_________________________________________________________________________________
int main(int argc, char** argv) {
char p[3][3]={{'R','B','R'},{'S','R','K'},{'A','P','J'}};
printf("%c",*(p+1)+1); //Prints D
return 0;
}
int main(int argc, char** argv) {
char p[3][3]={{'R','B','R'},{'S','Y','K'},{'A','P','J'}};
printf("%c",*(*(p+1)+1)); //Prints Y i.e p[1][1]
return 0;
}
int main(int argc, char** argv) {
char p[3][3]={{'R','B','R'},{'S','R','K'},{'A','P','J'}};
printf("%c",*(*(p+1)+1)+8); //Prints Z i.e R+8= Z (82+8=90)
return 0;
}

Comments

Popular posts from this blog

Event Sourcing with CQRS.

  The way event sourcing works with CQRS is to have  part of the application that models updates as writes to an event log or Kafka topic . This is paired with an event handler that subscribes to the Kafka topic, transforms the event (as required) and writes the materialized view to a read store.

Procedure to enable wireless LAN adapter in vmware!

I have went to find the way in which wlan in Kali Linux could be made listed my airmon-ng command. Most of the videos and posts suggested me that it is necessary to have another wi-fi adapter to have connected to wifi network. But this is not necessary. The procedure to do this is as follows: 1. Download this package in Virtual Machine(Kali linux) " http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2010-06-26-p.tar.bz2" 2.Unzip this package in terminal i.e navigate to place where you have downloaded this file , say desktop then type : cd Desktop for unzip type : tar -jxvf compat-wireless-2010-06-26-p.tar.bz2 3. Navigate into the uncompressed directory and type: i."make unload"  (only words within the quotes are the commands) ii."make load" Done!  now airmon-ng  should have the list of the required devices.