(一维)数组
数组的特性:
1. 连续性,即所有元素,在内存中是连续的
2. 一致性,所有元素的类型是一致的。
数组可以将类型一样的东西集中存放,方便管理。
注意:
1. 数组声明时,必须指定大小,不可以为变量大小
2. 数组的名字,其实是一个地址,代表数组的首地址
数组寻址
编译器如何找到数组元素nScoreAry[1]的地址?
它是依据数组寻址公式的:
nScoreAry[i]的地址 = nScoreAry + sizeof(type) * i
得到地址后,再按照解释方式,取出内容。
#include <stdio.h>
int main(int argc, char* argv[])
{
int nScoreAry[5] = { 0x42c90ccd, 0xFFFFFFFE, 33333333, 44444444, 55555555 };
int dbScoreAry[5] = { 0 };
printf("%p\r\n", nScoreAry);
printf("%d\r\n", nScoreAry[1]);
printf("%u\r\n", nScoreAry[1]);
return 0;
}
main作为C语言的入口函数,它的参数是如何传递来的?
答:来自于命令行。argc代表参数个数,argv代表参数字符串
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
printf("argc: %d\r\n", argc);
//遍历打印参数
for (size_t i = 0; i < argc; i++)
{
printf("%s\r\n", argv[i]);
}
return 0;
}
从命令行可以传参,使得程序可以和用户交互。(main最多传三个参数,1、参数个数 2、参数对应的值 3、环境变量)
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
printf("Hello: %s, Welcome to NR902,\r\n I am:%s", argv[1], argv[0]);
return 0;
}