#include <stdio.h>
int main()
{
char c[20]; //定义一个字符数组,长度为20
char d[20];
char *m,*h; //定义指针变量m和h
h=d; //把字符数组的第一个地址赋给指针变量h
printf("请输入字符串:\n");
gets(c); //得到输入的字符串,赋值到字符数组c
m=c; //把输入的字符数组的第一个地址赋给指针变量h
h=m; //把指针m的值赋给指针h
printf("您刚才输入字符串为:\n");
puts(h);
}
整型数组指针的输出如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i[2]={1,2};
int *p=&i;
printf("输入\n");
scanf("%d",p);
printf("%d",*p);
}
结果只能输出1。
比较整型指针和字符指针的区别,虽然都是将数组的第一个首地址赋给了指针变量,但是用%s输出的时候字符指针能输出全部内容,比如printf(“%s”,*p);整型指针却只能输出首地址的内容,比如printf(“%d”,*p);。当然了如果用%c输出字符指针的时候仍然输出首地址存放的内容,比如,printf(“%c”,*p);。