萌新的C语言成长日志5

地址和指针

定义指针变量的一般形式:
类型名 *指针变量名1, *指针变量名2,…;
“&”是求地址运算符

给指针变量赋地址值:
int k = 1,*q,*p;
q = &k;
把变量k的地址赋予q
也可给指针变量赋“空”值例:p = NULL;
“ * “是间接访问运算符,

移动指针
增1表示指针向地址值大(高地址)的方向移动一个存储单元
减1表示指针向地址值小(低地址)的方向移动一个存储单元
移动指针,只需加、减一个整数。

函数之间地址值的传递
若函数的形参为指针类型,调用该函数时,对应的实参必须是基类型相同的地址值或者是已指向某个存储单元的指针变量

#include <stdio.h>
int myadd(int *a, int *b)
{
	int sum;
	sum = *a + *b;
	return sum;
}
int main()
{
	int x, y, z;
	printf("Enter x, y :");
	scanf("%d%d", &x, &y);
	z = myadd(&x,&y);
	printf("%d+%d=%d\n", x, y, z);
	return 0;
}

通过传送地址值可以在被调用函数中直接改变调用函数中的变量的值。
函数值的类型不仅可以是简单的数据类型,而且可以是指针类型。

数组

一维数组一般形式
类型名 数组名[整型常量表达式],…;
引用形式:
数组名{下标表达式};

不可以给数组名重新赋值,但可以用数组名加一个整数的办法来依次表达该数组中不同元素的地址如a是a数组的首地址,a+1的值等于&a[1]

二维数组一般形式
类型名 数组名[常量表达式1][常量表达式2],…;
二维数组引用:
数组名[下标表达式1][下标表达式2]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值