c语言初阶失误点摘要-创新互联

一、

创新互联是一家集网站建设,禄丰企业网站建设,禄丰品牌网站建设,网站定制,禄丰网站建设报价,网络营销,网络优化,禄丰网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。二、数组名是什么?
#includeint main()
{
	int arr[10] = { 1,2,3,4,5 };
	printf("%p\n", arr);
	printf("%p\n", &arr[0]);
	printf("%d\n", *arr);
	//输出结果
	return 0;
}

综上结果可以看出打印数组名的地址与打印数组第一个元素的地址相同,那么

数组名就是数组首元素的地址

为什么sizeof(arr)打印出来的结果为40?

1. sizeof(数组名),计算整个数组的大小,sizeof内部单独放一个数组名,数组名表示整个数
组。
2. &数组名,取出的是数组的地址。&数组名,数组名表示整个数组

除了上述两种情况外,所有的数组名都代表数组首元素的地址

三、数组元素连续存放,地址由低到高
#includeint main()
{
	int arr[10] = { 0 };
	int i = 0;
	for (i = 0; i< sizeof(arr) / sizeof(arr[0]); ++i)
	{
		printf("&arr[%d] = %p\n", i, &arr[i]);
	}
	return 0;
}
仔细观察输出的结果,我们知道,随着数组下标的增长,元素的地址,也在有规律的递增。 由此可以得
出结论:数组在内存中是连续存放的
四、函数声明:
1. 告诉编译器有一个函数叫什么,参数是什么,返回类型是什么。但是具体是不是存在,无关紧要。
2. 函数的声明一般出现在函数的使用之前。要满足先声明后使用。
3. 函数的声明一般要放在头文件中的。
函数定义:函数的定义是指函数的具体实现,交待函数的功能实现。
五、全局变量的默认初始值为0、隐式类型转换
#includeint i;
int main()
{
    i--;
    if (i >sizeof(i))
    {
        printf(">\n");
    }
    else
    {
        printf("<\n");
    }
    return 0; 
}

C语言中,0为假,非0即为真。

全局变量,没有给初始值时,编译其会默认将其初始化为0。

i的初始值为0,i--结果-1,i为整形,sizeof(i)求i类型大小是4,按照此分析来看,结果应该选择B,但是sizeof的返回值类型实际为无符号整形,因此编译器会自动将左侧i自动转换为无符号整形的数据,-1对应的无符号整形是一个非常大的数字,超过4或者8,故实际应该选择A

这道题其实很隐蔽,真是虾仁猪心!!!

六、表达式求值

A.表达式求值先看是否存在整形提升或算术转换,再进行计算

B.表达式真正计算的时候先看相邻操作符的优先级决定先算谁

C.相邻操作符的优先级相同的情况下,看操作符的结合性决定计算顺序

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:c语言初阶失误点摘要-创新互联
网页路径:http://scyanting.com/article/ceggpc.html