首页 >>  正文

数组名取地址加1

来源:baiyundou.net   日期:2024-09-21

滕玛伟4572C语言怎样给字符数组赋值 -
仇灵吕14745885016 ______ 给字符数组赋值分两种情况,单字符赋值和字符串赋值. 单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值,如: char a[10]; char ch='a'; for( i=0;i<10;i++ ) a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋值 char *p; for...

滕玛伟4572对于一个二维数组a[3][3] -
仇灵吕14745885016 ______ /* a &a &a[0][0]都是指着数组的首地址 差别见代码部分,输出结果*/#include using namespace std; int main() { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};/************************************************************/ cout cout /********************************************...

滕玛伟4572C语言地址与指针问题 -
仇灵吕14745885016 ______ B a表示的是数组名,数组名是一个常量指针,指向数组的第一个元素a[0],a也就是一个存放了a[0]地址的单元(或说a放了第一个单元的门牌号码)而且是一个const pi不能改变a指向的值(他放置的地址不能变,不能加和键但可以通过a+i来指向第i个单元)

滕玛伟4572已有声明“int a[5];”,以下表达式不能正确取得a[1]地址的是 A &a[1] B ++a C &a[0]+1 D a+1 说明原因 -
仇灵吕14745885016 ______ 作案是CA:前面的符号就是取后面数地址的符号B:前置++是在首地址之上加1,其实就是a[1]的地址,因为它是加A,...

滕玛伟4572数组名与整数相加,是怎么加的? -
仇灵吕14745885016 ______ 你的代码有问题吧.int num[3][4],应该是int **p=num 指针加1.是指针偏移 指针指向的类型的大小. 比如char *p; p+1 就是偏移一个char的距离. int *p; p+1就是偏移一个int的距离. int **p;p是一个二维数组,那么+1就是偏移一个一维数组.

滕玛伟4572c语言允许数组名作为函数调用的实参吗? -
仇灵吕14745885016 ______ 允许的!int a[10]; input( a, 10 ); void input( int a[], int n) { int i; for( i=0;i scanf("%d", &a[i] ); }

滕玛伟4572c++中的指针自增1,取地址的值会自增1吗?比如: -
仇灵吕14745885016 ______ 一、指针有三个要素(以你的问题例,设pn为指针,而且已经定义int n=10;int *pn;pn=&n;): 1.指针变量pn本身在内存中的存放地址——&pn; 2.指针的值——pn.指存放在&pn这个内存中的数值,这个数值也是一个地址(否则就不是指针变量了!...

滕玛伟4572C++中数组名a和&a的不同之处 -
仇灵吕14745885016 ______ C/C++里面的数组名字会退化为指针,所以数组名a实际指的是数组的第一个元素的地址.而数组名作为指针来讲有特殊性,它正在它所指向的内存区域中,&a的值和a的数值是相同的(可以输出观察一下),但是类型和意义不同.而指针的加法操作和指向的数据类型密切相关.比如:int a[10]; a就相当于int *,如果是对它加1(a + 1)是相当于a + 1 * sizeof(int).但是&a的类型则相当于int **,是所谓指向数组的指针,是数组元素类型的二级指针,对它加1是相当于 &a + 1 * sizeof(a)的,所以会偏移一个数组长度.

滕玛伟4572数组地址和sizeof()函数 -
仇灵吕14745885016 ______ printf("%d+%d=%d\n",a,x,a+x); 这里a是一个绝对地址,x是地址的相对偏移量,其值的大小取决于a的类型,如这里a是int型,那么a+1就是将a的绝对地址加上一个int变量所占的字节数,在32位机里,一个int变量占4个字节,所以a+1其实是将a的绝对地址加了4,a+4其实是将a的绝对地址加了16,依此类推.这种地址的相对偏移最大的用处是在数组里,如a[5]是一个int型数组,那么a就是它的第0个元素的绝对地址,a+1得到的就是它的第1个元素的绝对地址(它与第0个元素的绝对地址实际差了4个字节),等等.

滕玛伟4572数组元素的符号地址是怎么命名的,如数组int a[5]中一个元素a[3]的符号地址是a+3,二维的数组int a[2][3]中一个元素a[1][2]的符号地址是a[1]+2,那么 a[1]+2... -
仇灵吕14745885016 ______[答案] a+3 表示指向a的指针地址+3*sizeof(type of a),也就是整型加4*3,char 加1*3inta[2][3]是个二维数组,所以a[1]是个指针地址,加2也就是a[1][0]偏离第二个就是a[1][2]但是一定要注意:如果int a[2]那你的a[1]就是整型...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024