码迷,mamicode.com
首页 > 编程语言 > 详细

个人理解的int数组和char数组

时间:2017-05-30 22:07:45      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:二维   理解   个人   std   code   指针常量   指针   执行   地址   

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数组

标签:二维   理解   个人   std   code   指针常量   指针   执行   地址   

原文地址:http://www.cnblogs.com/ma77045728/p/6921409.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!