一、hello world究竟是什么
我们的第一个C语言程序都是
printf("hello world");
实际上hello world是一个字符数组
#include<stdio.h>
int main()
{
char a[12] = "hello world";
char *p = a;
printf("%s\n", a);
printf("%d\n", a);
printf("%c\n", *a);
printf("%s\n", p);
printf("%c\n", *p);
}
由此可知"hello world "实际上是字符数组,因为是数组所以数组名就是地址,这里的输出字符串,与其他不同,printf("%s",地址)后面直接是地址
下面对比一下存放数字的数组
#include<stdio.h>
int main()
{
int a[5] = {2,3,4,5,6};
int *p = a;
printf("%d\n", a);
printf("%d\n", *a);
printf("%d\n", p);
printf("%d\n", *p);
}
要注意数组名就代表了数组的首地址 所以不要写&符号
例如:
#include<stdio.h>
int main()
{
int a[5];
scanf("%d", a);
printf("%d", *a);
}
#include<stdio.h>
int main()
{
char a[5];
scanf("%s", a);
printf("%s", a);
}
而对于不是数组的变量 输入一定要记得写上&,指针也要取到变量的&地址