P++/P–的概念,就是p当前地址的基础上,增长/减少p对应类型字节大小。web
#include <stdio.h> #include <stdlib.h> int main(void){ int ages[] = {21,13,24,56,43,24,8}; int len = sizeof(ages)/sizeof(ages[0]);//数组的大小/整形的大小7x4/4=7 //1. 使用数组的方式来访问数组 for(int i = 0; i < len;i++){ printf("第%d个学员的地址是:%d\n",i+1,ages[i]); } //打印数组的第一个元素的地址 printf("ages的地址:0x%p,第一个元素的地址:0x%p\n",ages,&ages[0]); //2. 使用指针,访问第一个元素 int *p = ages; for(int j = 0;j < len; j++){ printf("数组的第%d个元素:%d,地址:0x%p\n",j+1,*p,p); p++; } printf("---------------------------\n"); char ch[4] ={'q','w','e','r'}; char *cp = ch; for(int k = 0;k < 4; k++){ printf("数组的第%d个元素:%d,地址:0x%p\n",k+1,*cp,cp); cp++; } system("pause"); return 0; }
#include <stdio.h> #include <stdlib.h> #include <string.h> /** *让用户输入一个字符串,而后反向输出,注意不能改变原来的字符串 *如:“12345”逆转成“54321”输出 */ int main(void){ char input[128]; int len; char tmp; scanf_s("%s",input,128);//用户输入不超过128个字节 len = strlen(input); //方法1,写一个for,从最后一个输出 /* for(int i=0;i<len;i++){ printf("%c",input[len-i-1]); }*/ //方法2,使用指针 char *p=&input[len-1]; for(int i = 0;i<len;i++){ printf("%c",*p--);//先p--再取地址对应的值 // p--; } system("pause"); return 0; }