code:正常访问情况
#include <stdio.h>
int main(void)
{
char *c;
char arry[]="Hello,world!!";
int len = sizeof(arry)/sizeof(arry[0]);
c = arry;
for(int i=0;i<len;i++){
printf("%c ", *(c+i));
}
putchar('\n');
for (int i=0;i<len;i++){
printf("%c ", c[i]);
}
putchar('\n');
for(int i=0;i<len;i++){
printf("%c ", *c++);
}
putchar('\n');
for(int i=0;i<len;i++){
printf("%c ", arry[i]);
}
putchar('\n');
for (int i=0;i<len;i++){
printf("%c ", c[i]);
}
putchar('\n');
for(int i=0;i<len;i++){
printf("%c ", *(--c));
}
return 0;
}
运行结果:
C:\Users\Administrator\Desktop\C_Study\新版本c语言\程序\unit6_pointer>a.exe H e l l o , w o r l d ! ! H e l l o , w o r l d ! ! H e l l o , w o r l d ! ! H e l l o , w o r l d ! ! //这里是空格 ! ! d l r o w , o l l e H
code:错误访问
指针的地址没办法给数组地址使用
int main(void)
{
char *c="Hello,world!!";
char arry[16]={0};
int len = sizeof(arry)/sizeof(arry[0]);
arry = c;
for(int i=0;i<len;i++){
printf("%c ", arry[i]);
}
putchar('\n');
}
|