xbns.net
当前位置:首页 >> 数组指针的赋值 >>

数组指针的赋值

int a[2][3] = {{1, 2, 3}, {4, 5, 6}}; int (* p)[3] ; p = &a[0]; 首先解释一下int (* p)[3] ;指向数组的指针,首先它是一个指针,只是一个,它用指向一个数组,该数组有3个元素,这个是比较通俗的说法了.你的a[2][3]就是1 2 34 5 6 而p = &a[0];表示p

指针类型数组?里面存指针就好了啊,比如int *a[10] ; 这个a就是一个int*型数组,里面存的是指向int型数据的指针.比如int *b=NULL; int c; b=&c; 然后你就可以a[0] = b; 这个时候a[0]里面存的就是指向c的指针b.这种用法需要特别小心,一般建议对指针数组加上const限定符以防止意外修改.如果你想要的是指向int型数组的指针,声明的时候要用int (*a)[10] ; 如果你要用的话,首先要对*a初始化,然后让它指向目标数组.比如int b[10] ; a=b; 用的时候*(a+1)=10; 相当于b[1]=10; 特别需要注意的是,小心数组越界的问题.

用同类型的值进行赋值.比如 int (*p)[5];可以用同类型的 int (*q)[5];给它赋值.也可以 int a[10][5];然后用任意一行首地址赋值.如 p=a; p=&a[1];等等.这个是最基础的用法, 也可以强制转换, 实现一维数组 或者其他连续内存, 以数组方式访问.

#include <stdio.h>int main (){ char *a[]={"asdasd a","asdasd b"}; printf("%s\n%s\n",a[0],a[1]); return 0;}//指针是存储地址的,char *a[]={"asdasd a","asdasd b"};//让指针数组分别指向静态的字符串!//这样定义并不是给指针字符串,而是将字符串的地址给指针!

#include<stdio.h> void main(){ int a[3][3]={2,4,5,6,7,8,9,10,11}; int *p[3]; *p=&a[0][0]; for(int i=1;i<9;i++) printf("%d ",*(*p+i)); printf("\n"); }

直接把数组名赋值过去就行int a[100]={0};void* p=(void*)a;

用getchar()应该刷新缓冲区,用cout<<endl; 也可以定义一个变量如: char ch; cin>>ch; switch(ch) {..}

定义指针 赋值为数组名就可以了. 比如 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p; p=a; for(p=a; p<a+10;p++) printf("%d ", *p);

int a[10]={1,2,3,4,5,6,7,8,9,10};int *p;p=a;printf("%d %d",p[4],*(p+4));指针变量是数据的地址,数组a 本身就是一个地址 ,访问某个地址中的值 一般用 *(指针变量)还有不懂的请追问 还望采纳

你好!可以,num为指向数组第一个数值的指针,将其赋给同类型的指针pn,则pn也就指向数组首位置,可以通过*(pn+i)来选择输出数组内的数据!如有疑问,请追问.

网站首页 | 网站地图
All rights reserved Powered by www.xbns.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com