首页 > 代码库 > 个人理解的int数组和char数组
个人理解的int数组和char数组
char数组中不论是一维还是二维的,在程序执行时每一块的分离依据都是以提供的起始地址到‘\0‘为一个处理的字符串。所以关于char[]的函数都是只提供相应起始地址作为形参就可以。
char[]互相交换内容时不是用的=号,而是使用strcpy(a,b),其中a为“被赋值的“char[]的起始地址,b为“要赋的值“的char[]的起始地址。要修改其中的某个字符则可以使用=号
另外例如char* a="abcd"和char b[5]="abcd";区别在于b可以任意修改字符数组中的某个字符,而a在初始化之后不能修改.
但是a可以改变自身所指向的地址,b为数组名为"指针常量"不能修改其指向地址.
二维的int数组int a[3][10],要将其中3个一维数组中的某个作为形参输入到函数中进行处理。例如:
#include<stdio.h>
void and1(int b[])
{
b[1] = b[1] + 1;
}
int main(void)
{
int a[3][2] = {1,2,3,4,5,6};
and1(a[2]);
printf("%d",a[2][1]);
return 0;
}
这个程序的目的就是要将二维int数组中的第三个数组的第二个元素加一。为什么这么写就可以了,是因为int数组是根据4个字节为一个处理的数值,
形参b[]只是想要提供一个你要处理的一维数组的起始地址而已。
个人理解的int数组和char数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。