学习C语言的第五天

这篇博客深入探讨了C语言中的指针概念,包括指针的使用、指针作为参数传递、指针的0地址含义、NULL定义、类型转换以及const关键字在指针前后的不同作用。此外,还提到了数组与指针的关系,特别是const修饰数组时的注意事项。内容覆盖了指针的基础知识及其在实际编程中的应用。
摘要由CSDN通过智能技术生成
#include<stdio.h>
void sum(int begin, int end)
{
	int i;
	int sum = 0;
	for (i = begin; i <= end; i++)
	{
		sum + 1;
	}
	printf("%d到%d的和是%d\n", begin, end, sum);
}
int main()
{
	sum(1, 10);
	sum(20, 30);
	sum(35, 45);
	return 0;

}

作为参数的指针

void f( int* p)

在被调用的时候得到了某个变量的地址;

int i=0; f(&i);

在函数里面可以通过这个指针访问外面的这个i

0地址

当然你的内存中有0地址,但是0地址通常是个不能随便碰的地址

所以你的指针不应该具有0值

因此可以用0地址来表示特殊的事情:

返回的指针是无效的

指针没有被真正初始化 (先初始化为0)

NULL是一个预定定义的符号,表示0地址

有的编译器不愿意你用0来表示0地址

指针的类型转换

void*表示不知道指向什么东西的指针

计算时与char*相同(但不相通)

指针也可以转换类型 

int*p=&i;void*q=(void*)p;

这并没有改变p所指的变量的类型,而是让后人用不同的眼光通过p看他所指的变量

const在*前后

const int*p1=&i;(他所指的东西不能被修改)

int const* p2=&i;(也是他所指的东西不能被修改)

int *constp3=&i(指针不能被修改)

count数组

count int a[]={1,2,3,4,5,6,};

数组变量已经是const的指针了,这里的const表明数组的每一个单元都是const int

所以必须通过初始化进行赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值