C语言学习历程(七)数组与指针的程序

来源:互联网 发布:户型优化设计 编辑:程序博客网 时间:2024/06/01 10:15

*#include <stdio.h>*
#include<*string.h>*
int main1(int argc, char **argv)
{
int iv;
int ve=1024;
// int &v; //错误,不能直接定义地址;
int *p=&iv;
//int *p=iv; //错误,定义指针并同时指向地址时,后面是地址,不能是值;
//iv=5;
*p=5;
printf(“%d”,*p); //输出值;
printf(“%p”,p); //输出地址;

return 0;

}
int main2()
{
int *p; //未给指针初始化;
*p=5;
printf(“%d”,*p);
return 0;

}

/*int main3()
{
int a;
int *p=&a;
int &b=a; //&b是一个别名,当作变量,不是地址,其本名仍是b;
a=5;
printf(“%d,%d”,*p,b);

}*/

int main4()
{
char c=’c’;
char *p=”ab”;
char r[10]=”“;
int a=’c’;
printf(“%d,%d”,sizeof(c),a);
}

int main5()
{
char *p=”abcdef”;
// p[0]=’g’; //指针数组*p用字符串定义时,表示常量,不能改变;
return 0;
}

int main7()
{
int a[4]={1,2,3,4};
int ptr=(int)(&a+1); //取数组a的首地址,其跳过一个数组所有元素的大小, 即一个数组的大小;
printf(“%d”,*(ptr-1));
return 0;
}

int main()
{
char a[20]=”I am Chinese!”;
char b[20];
char c[20];
int i=0;
int k=strlen(a)-1;
while(i<strlen(a))
{
b[i]=a[k];
k–;
i++;
}
b[i]=’\0’;
printf(“%s”,b);

 return 0;   }