关于二维指针和字符串的问题 求帮忙!!!!!! [问题点数:40分,结帖人wxf2012301351]

Bbs2
本版专家分:366
结帖率 66.67%
Bbs5
本版专家分:4595
Blank
黄花 2015年8月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2015年9月 C/C++大版内专家分月排行榜第三
二维字符串指针
解决<em>问题</em>:使用<em>指针</em>,灵活控制<em>指针</em>关系。参考博文: 1. <em>二维</em>字符数组与char** 关系 2. C语言中<em>二维</em>字符数组的定义和初始化思考下面代码出现的<em>问题</em>:void list_dir(char **dirp_array) { char *dir_name = "./"; DIR *dp; struct dirent *dirp; if ((dp = opendir(
关于C使用指针获取二维字符数组信息
最近在完成一个项目,项目中频繁的使用到字符<em>二维</em>数组,今天就个人在实际中的经验来总结一个比较好的使用方法,欢迎各位大神踊跃拍砖。 测试的<em>二维</em>数组:char ch[][50] = { "1-2-3", "4-5-6", "7-8-9" };下面我们通过两种方法来获取这个<em>二维</em>数组的信息使用下标输出#include "stdio.h" int main(int argc, cons
关于二维指针问题
我在程序中定义了一个三维环型队列数组,rn出队入队函数是:rnrnU8** exque_dot()rnrn U8 **x;rn int i,j;rn if(dot_front_point == dot_rear_point)rn rn DOT_ESC_BUFFER_FLAG = 0;rn return 0;rn rn dot_front_point=(dot_front_point+1)%(DOT_BUFFER_MAXMIZE); rnrn x =(U8 **)(ring_dot_buffer[dot_front_point]);rn DOT_ESC_BUFFER_FLAG = 1;rn return x;rnrnrnrnU8 enque_dot(U8 **x,int x_length)rnrn int i = 0,j = 0;rn if((dot_rear_point+24)%(DOT_BUFFER_MAXMIZE*24)==dot_front_point)rn rn DOT_ESC_BUFFER_FLAG = 2;rn return 2;rn rn elsern rn dot_rear_point=(dot_rear_point+1)%(DOT_BUFFER_MAXMIZE);rn memcpy(ring_dot_buffer+dot_rear_point,x,x_length);rn DOT_ESC_BUFFER_FLAG = 1;rn return 1;rn rnrn入队函数正常,在主函数中我定义一个char **p,把出对数据的首地址传给p<em>指针</em>,但是我无法得到正确的数据,我测试过的,地址是传对的了。
二维指针问题!高手帮忙!
欲生成一个M*N的<em>二维</em>float数组.rn小弟写了一个,请各位高手给改改!rnint **p;rnfor(int i=0;i
求指教二维指针问题
[code=C/C++]rn char **a;rn char *b[3] ="asdf","123";rn a=b;rn rn rn printf("%s\t%s\n",a++,a);rn rn[/code] rnrn为什么我这段代码每运行一次都有一个随机结果呢????却没有一次吧asdf , 123打印出来???
一个关于二维指针问题
一个<em>关于</em><em>二维</em><em>指针</em>的<em>问题</em>
关于二维指针编译报错的问题
新学习C++语言 在C++ Primer的<em>二维</em>数组<em>指针</em>一节按文写了个程序,为何在for (int *k;k!=ip+3;k++)这段编译报错呢?rn提示无法从“int_array (*)”到“int *”的转换,请问该怎么写?为什么呢?rnrn谢谢了!rnrn[code=C/C++]rn#include rn#include rnusing namespace std;rnrnint main(int argc, char *argv[])rnrn int ia[2][3]=1,2,3,4,5,6;rn typedef int int_array[3];rn int_array *ip = ia;rn cout<
关于 二维指针 数组问题
请模仿shell的处理,把一个<em>字符串</em>按空格作为字符间隔符,转化为argc和argv[]的形式rnrn char str[128];rn int argc;rn char * argv[16];rnrn void parse(void)rn rn ???rn rn
指针问题!!求帮忙
简洁点rnvoid Func1()rnrn ULONG *AA;rn ULONG *BBrn Func2([color=#FF0000]&[/color]AA);rnrn DbgPrint("%x",*AA); //此打印出的数字是对的1234rn BB=(*AA)+1; 为什么这样打印就不对了 打印出别的数字我想打印1235rnrnvoid Func2(ULONG [color=#FF0000]**[/color]AA)rnrn ULONG *DD;rn ULONG D;rn DD=&Drn Func3(DD);rnrn *AA=DD; rnrnrnvoid Func3(ULONG *DD)rnrn ULONG FF=1234;rn *DD=FF; //赋给D了rn
关于C++二维指针
<em>二维</em>数组<em>指针</em> 源文地址:http://www.cnblogs.com/carekee/articles/1948326.html 概括的说,<em>指针</em>其实就是可变数组的首地址,说是可变数组,是 指其包含内容的数量的可变的,并且是可动态申请和释放的,从而充 分节约宝贵的内存资源。我一向喜欢一维数组,除非万不得已,我一 般是不用<em>二维</em>数组的,多维的则更是很少涉足了。因为一维简单,容 易理解,而用<em>指针</em>指...
关于二维指针的初始化
一个初级的<em>问题</em>: char *a; char **arr, **firstPos; a = (char *) malloc(8); strcpy(a,&quot;123&quot;); arr = &amp; a; firstPos = arr; arr ++; a = (char *) malloc(8); strcpy(a,&quot;456&quot;); arr = &amp; a; ...
关于二维数值指针
如下:rnchar (*buf)[10]=new char[65535][10];rnrn//这样定义了一个buf[65535][10];rn我的<em>问题</em>是倘若先:char (*buf)[10];rn那接下来该怎么写才能实现和原来一样的效果。rn系统会怎样来分配内存呢。rnrn2.如何定义一个动态<em>二维</em>数组,例如要定义一个buf[655355][6553555];
关于二维指针
我在程序里面需要定义一个<em>二维</em><em>指针</em>,大体的代码如下rnchar **token;rntoken=(char **)malloc(1024);rn...rn...rn...rn*(toke+i)=(char*)malloc(1024);rn...rnrn最后我要释放掉这个<em>二维</em>空间,我是这样做的rnfor..rnfree(*(token+i));rn..rnfree(token);rnrn可是程序老报错,我跟踪了以下,发现是释放空间时出<em>问题</em>了,可是我不知道应该怎样释放,高手给提示提示呀,谢谢啦!rn
关于二维指针的代码
#include #include using namespace std; struct mst {     int *a;     double f;     int *b;     int *c; }; int main() {     mst st;     int array1[2]={1,2};     int array2[3]={3,4,5};
关于指针字符串问题
在在C#中非安全代码中设置了一个 byte* p1的变量,想将<em>字符串</em>string s1 ="abcde"传给p1<em>指针</em>,如何实现?
关于字符串指针问题
#include rnrnusing namespace std;rnrnint main()rnrn char *pt = "hehe";rn cout<<
关于指针字符串问题
char *ch;rnch="abc";rn搞不明白ch里面应该存储地址,为啥"abc"能赋给ch?这是一个<em>问题</em>rn接上面的代码加入cout<>ch;rncout<
字符串 问题帮忙
String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@.+-*/_";rnrn如上面的<em>字符串</em>,我想在里面随机取8位组成一个新的<em>字符串</em>,如何实现?rnrn路过的大神指点下。
字符串问题帮忙
小弟从数据库的一个字段里面读出一个长<em>字符串</em>出来rnrn但是我要把这个长<em>字符串</em>读到一个数组里面去rnrn<em>字符串</em>的长度是不定的rn请问该怎么实现啊rnrn如果写成rndim names() as stringrnnames()="string1"的话会出错的rnrn求高手帮助rn谢谢rn一拜谢rn二拜谢rn三拜谢
二维指针问题(急!!!)
这样写,运行时出错。rn[b]#include "stdafx.h"rn#includernrnint main(int argc, char* argv[])rnrnrn int a[2][2]=1,2,3,4;rn int **p=(int**)a;rnrn for(int i=0;i<
二维指针问题
有一个数组Array[m][n],我要求解他的转置矩阵,能不能用<em>指针</em>直接转换来求解?rn 就是:rn 我可以不可以用<em>指针</em>赋值的方法来求解。如果可以的话,请<em>帮忙</em>写一小段让我读读。rn
二维指针问题
float a[10][4];rn float **b=new float *[4];rnrn float (*p)[4]=a;//正确rn float (*p)[4]=b;//错误rnrn请问第四局如何改?
好像是二维指针问题/
贴上看到的程序,实现不了/达人指点rnrn有个<em>字符串</em>:rnchar string[] = "a,bb,ccc,you is a good boy";rn如果把它写成用一个数组来表示的(逗号分隔开),请给出程序,把数据存放到一数组中。如array[0]="a";array[1]="bb",array[2]="ccc",array[3]="you is a good boy"rnrn不用strtok函数的做法rnrn#include rn#include rnusing namespace std;rnconst int N=25;rnrnint main()rnrn char s[]="a,bc,ccc,you are a good boy";rn char *p;rn p=s;rn char **res=new char *[5];rn for(int i=0;i<<
二维数组与二维指针问题
char a[][5]="11","22","33";rnchar** p;rnp=(char**)a;rnrn现在怎么用p表示数组a,显示a的所有内容呢?rnrn
二维指针的引用问题
在外面定义了一个<em>二维</em><em>指针</em>,调用一个函数完成这个<em>指针</em>的申请,这个函数的原型该怎么定义?rn十万火急!
请教二维指针问题
rn char **gpWordList;rn rn gpWordList = (char **)MEM_Malloc(gGetWordNum + 1);rn rn for( i = 0; i < gGetWordNum; i++ )rn rn gpWordList[i] = (char *)MEM_Malloc(sizeof(DWORD)+1); //提示expression cannot be evaluatedrn rn这是什么原因?请高手指点。
二维数组名和二维指针
前段时间一直想思考为啥char **p 和char a[][]不能实现直接的赋值--------即通过p=a把a的内容直接拷贝到p中去,因为我是从一维<em>指针</em>和一维数组中联想而来的,但是后来发现是两个概念,<em>二维</em><em>指针</em>指向的是<em>指针</em>,而<em>二维</em>数组名指向的是一维数组,类型不匹配。在此推荐一篇说的不错的文章----http://www.cnblogs.com/stoneJin/archive/2011/09/21
一个关于二维数组名与指针赋值的问题
<em>二维</em>数组名究竟可以赋给哪些类型的<em>指针</em>?为什么可以赋给指向一维数组的<em>指针</em>?
关于二维指针释放内存的问题
这是我在图像处理时的一个程序:rntypedef struct DibArrayrnrn BYTE* red;rn BYTE* green;rn BYTE* blue;rnDibArray;rnrn//申请空间rnm_picArray = (DibArray**) new DibArray*[height];rnif(!m_picArray)rnrn AfxMessageBox("m_picArray分配内存出错!");rn delete[] m_picArray;rn return false;rnrn rnfor(int i=0;i
【C】关于二维函数和指针问题
#includern#define tess 3rn#define sandes 5rnvoid skk(double ar1[][sandes]);rnint main(void)rn rn int i,c;rn double zaza[tess][sandes];rn skk(zaza);rn rn rnrnvoid skk(double ar1[][sandes])rnrn int i, c;rn printf("请输入十五个double类型的数值:\n");rn for (i = 0; i < tess; i++)rn rn for (c = 0; c < sandes; c++)rn rn scanf_s("%lf", ar1[i][c]);rn printf("ar1[%d][%d]=%lf\n", i, c, ar1[i][c]);rn rn rn rnrn请问这个程序为什么会卡在scanf那里,我想让用户输入的值把这个<em>二维</em>函数填满。rnrn同时,这底下的这个程序实在是解决不了了,变长数组不知道该怎么搞,麻烦大家的。rnrnrn编写一个程序,提示用户输入3组数,每组数包含5个double类型的数(假设用户都正确地响应,不会输入非数值数据)。该程序完成以下任务rna.把用户输入的数据储存在3X5的数组中rnb.计算每组(5个)数据的平均值rnc.计算所有数据的平均值rnd.找出这15个数据中的最大值rne.打印结果rn每个任务都要用单独的函数来完成(使用传统C处理数组的方式)。完成任务b,要编写一个计算并返回一维数组平均值的函数,利用循环调用该函数3次。对于处理其他任务的函数rn应该把整个数组作为参数,完成任务c和d的函数应把结果返回主调函数rn以变长数组作为形参,完成编程练习*/rn#includern#define ROWS 3rn#define COLS 5rnrnvoid store(double ar[], int n);rndouble average2d(int rows, int cols, double ar[rows][cols]);rndouble max2d(int rows, int cols, double ar[rows][cols]);rnvoid showarr2(int rows, int cols, double ar[rows][cols]);rndouble average(const double ar[], int n);rnrnint main(void)rnrn double stuff[ROWS][COLS];rn int row;rnrn for (row = 0; row < ROWS; row++)rn rn printf("Enter %d numbers for row %d\n", , COLS, row + 1);rn store(stuff[row], COLS);rn rn printf("array contents:\n");rn showarr2(ROWS, COLS, stuff);rnrn for (row = 0; row < ROWS; row++)rn printf("average value of row %d = %g\n", row + 1, average(stuff[row], COLS));rn printf("average value of all rows = %g\n", average2d(ROWS, COLS, stuff));rn printf("largest value = %g\n", max2d(ROWS, COLS, stuff));rn printf("Bye!\n");rn getchar();rn return 0;rnrnvoid store(double ar[], int n)rnrn int i;rn for (i = 0; i < n; i++)rn rn printf("Enter value #%d: ", i + 1);rn scanf("%lf", &ar[i]);rn rnrnrndouble average2d(int rows, int cols, double ar[rows][cols])rnrn int r, c;rn double sum = 0.0;rnrn for (r = 0; r < rows; r++)rn for (c = 0; c < cols; c++)rn sum += ar[r][c];rn if (rows * cols > 0)rn return sum / (rows*cols);rn elsern return 0.0;rnrnrndouble max2d(int rows, int cols, double ar[rows[cols]]);rnrn int r, c;rn double max = ar[0][0];rn rn for (r = 0; r < rows; r++)rn for (max < ar[r][c]);rn max = ar[r][c];rn return max;rnrnvoid showarr2(int rows, int cols, double ar[rows][cols])rnrn int row, col;rn for (row = 0; row < rows; row++)rn rn for (col = 0; col < cols; col++)rn printf("%g ", ar[row][col]);//%g以较短的输出宽度输出单、双精度实数rn putchar('\n');rn rnrndouble average(const double ar[], int n)rnrn int i;rn double sum = 0.0;rn for (i = 0; i < n; i++)rn sum += ar[i];rn if (n > 0)rn return sum / n;rn elsern return 0.0;rn
关于二维数组和二维指针的相关问题
<em>问题</em>:#include int main(void){ int **p; int arr[10];       //suppose the address of the arr[10] is 0x1200; int i; for(i=0;i {    arr[i] = (int)arr + i; } p = &arr; p[8][3] = 12;
php二维数组排序问题帮忙排序
现有一数组[code=PHP]rn$a=array(rn 0=>array(3=>9),rn 1=>array(2=>9),rn 2=>array(6=>5),rn 3=>array(1=>15),rn 4=>array(2=>4),rn);[/code]rn需要排序变为下面这样:rn[code=PHP]rn$b=array(rn 0=>array(1=>15),rn 1=>array(3=>9),rn 2=>array(2=>9),rn 3=>array(6=>5),rn 4=>array(2=>4),rn );rn[/code]rnrnwish you all the best!
二维指针 与 一维指针
void fun(char *s) { s = (char *)malloc(100); cout << &(s) << endl; strcpy(s,"i love you"); cout << s << endl; } int main() {     char *str = new char[100];     strcpy(st
二维指针和一维指针
class M...M m[2][4];M (*pm)[4](m);pm是指向4个数据的数组<em>指针</em>,和<em>二维</em>数组的列元素个数相同。引用格式     for(i=0;i     {          cout          for(int j=0;j            (*(*(pm+i)+j)).print();     }cout
关于指针访问二维数组元素
想问大家一个<em>问题</em>,rnrnint *p=&a[0][0];rn如果访问数组a中的各个数组元素可以通过移动<em>指针</em>p(p++),使其指向各个数组元素,rnp++依次指向a[0][0],a[0][1],....rnrn那P(P++)呢,我不理解,请指点!rnrn
二维指针取值与一维指针问题,求高手详解~
/*scmp:string compare of *p1 and *p2 */rnint scmp(const void *p1,const void *p2)rnrn char *v1,*v2;rn v1=*(char **)p1;/*这里是<em>问题</em>关键*/rn v2=*(char **)p2;/*这里是<em>问题</em>关键*/rn return strcmp(v1,v2);rnrn这是一段代码,我的<em>问题</em>是:在第5 第6行,代码是先强制转换为<em>二维</em><em>指针</em>,而后取值一维-----这样做的好处是什么,为什么不直接强制转换为一维赋值给v1 v2?
数组、指针二维指针
当在程序中定义数组,并对数组首地址取址,则自动升级为<em>二维</em><em>指针</em>。注意必须是在栈区,堆区(通过new创建)不具有此性质。 #include #include using namespace std; int main() { int a[5] = { 1, 2, 3, 4, 5 }; int *ptr = (int*)(&a + 1); //&a是一个<em>二维</em><em>指针</em>,ptr指向5后面的地址 co
二维指针
void func1(int **p){ } void func2(int *p[10]){ } void func3(int p[10][10]){ }void func1(int (*p)[10]){}void func1(int *p[10]){//重载失败,与第一个参数相同} int main(){ int a[10][10]; func1(a);//不能从(*a)[10]转换为**p
关于二维数组与二维指针传递参数
<em>问题</em>:       对于一矩阵A(m行n列), 矩阵B(n行p列),求其乘积C(m行p列),这其中要用到<em>二维</em>数组名当实参进行传递,但是怎么传递呢?形参用<em>二维</em><em>指针</em>可以直接用吗?(如:int MatrixMultiplication(int **A, int **B, int **C, int ra, int ca, int rb, int cb), 这样是不行的!) 以下是两种可行的方法:
关于二维指针的一个用处
#include #include #include typedef struct{    int number;    char *msg;}unit_t;void alloc_unit(unit_t **);void free_unit(unit_t *);int main(int argc, char *argv[]){    un
二维指针
我要用动态<em>二维</em>数组,如下:rn float **a;rn int i,j;rn a=(float*)new float[3];rn for(i=0;irnrn为什么?我记得用malloc是可以强制类型转换,如果用new怎么用??rn
关于函数返回指针字符串问题
好像很容易在这个地方出错,如内存泄漏啊等等,有没有谁能总结一下,或者说提出一个好的编程方法
求助:关于指针字符串问题
今天遇到一个<em>问题</em>:分别用<em>指针</em>初始化和用数组初始化<em>字符串</em>进行操作时:rn下面两个代码:为什么第一个代码不能进行相应操作。rn1:include rn#include rnmain()rnchar *a="abcde",*b="efgh";rnstrcpy(a,b);rnputs(a);rnrn2:#include rn#include rnmain()rnchar a[6]="abcde",*b="efgh";rnstrcpy(a,b);rnputs(a);rnrn我的<em>问题</em>是(1)为什么<em>指针</em><em>字符串</em>在strcpy操作中不能实现,而换为数组形式就可以复制了?rn (2)用<em>指针</em>定义<em>字符串</em>char *a="abcde"和数组定义char a[6]="abcde"为什么在这里有不同的效果?
c关于字符串指针问题!!!!!!!!!!!!
输入一串字符,将小写改为大写。代码如下rn#includernvoid fun(char *p);rnvoid main()rn char q[80];//[color=#00FF00]这里改为 char *q;为什么会出错;[/color] rn printf("请输入<em>字符串</em>:\n");rn gets(q);rn printf("你输入的<em>字符串</em>为:");rn puts(q);rn fun(q);rnprintf("改写后的<em>字符串</em>为:");rn puts(q);rnrnvoid fun(char *p)rn while(*p)rn if(*p>='A'&&*p)rn *p+=32;rnp++;rn
关于指针字符串问题,谢谢
我要写一个民航订票系统,这里面有修改航班信息的操作,需要输入一个<em>字符串</em>类型的值,将原来的覆盖掉,而原来的值储存在结构体数组中,需要用<em>指针</em>去找,假设我要修改第二个航班的起点,info=&air[num],把我要修改的航班的地址给info,然后scanf("%s",ss),输入一个新地址,最后[color=#FF0000],*(info->start_name)=*(ss),[/color]想把新的内容给原来的,但是运行的时候总是改不了,要是我想改票价就可以:scanf("%d",&c),info->cost=crnrn请问原因是什么啊,应该怎么做呢rn
指针帮忙
#define N 10rn#includern#includernint main()rnrn int i;rn char *s1,*s2;rn s1=(char *)malloc(10);rn s2=(char *)malloc(10);rn printf("please input string1!\n");rn scanf("%s",s1);rn printf("After input String1!\n");rn printf("%s\n",s1);rn rn while(*s1!='\0')rn rn *s2=*s1;rn s2++;rn s1++;rn rn *s2='\0';rn printf("After copy String2:");rn printf("%s\n",s2);rn return 0;rnrnrnrn我还没有输出s2,它的内容就被释放了,什么原因??
字符串的长度(指针
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 作 者:冯冬影 * 完成日期:2013 年12 月 25日 * 版本号: v1.0 * 输入描述: * <em>问题</em>描述:利用<em>指针</em>做形参,求出<em>字符串</em>s1的长度 * 程序输出:输出str1中的<em>字符串</em> * <em>问题</em>分析: */
二维字符串数组指针问题
char *name[2][3] = {"dalian","shangdong","guangdong","shenzhen","beijing","shenyang"}; 对于这个数组<em>指针</em>name,name[0],和name[0][0] 的分析 **name是指向*name[0]的<em>指针</em>,*name[0]是指向name[0][0]的<em>指针</em>,所以name[0][0]是一级<em>指针</em>,*nam
二维“数组”转换成二维指针
<em>问题</em>:cannot convert from 'double [10][10]' to 'double ** ' 例如:double arry[5][10] = {0};        double** pp;            pp=arry;            直接的赋值会提示错误:cannot convert from 'double [10][10]' to 'dou
********* 二维数组指针,指针字符串,指针函数,函数指针 *********
//  <em>二维</em>数组<em>指针</em>定义.初始化 // //  Created by 李佳乐 on 15-3-17. //  Copyright (c) 2015年 gongsimingzi. All rights reserved. // #include int main(int argc, const char * argv[]) {    
C提高 3 字符串二维指针
<em>二维</em><em>指针</em>三种内存模型图:统计<em>字符串</em>两头,非空字符的长度#include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;string.h&gt; intmain() { //统计<em>字符串</em>两头,非空字符的长度 char*p="abc"; inti=0; intj=strlen(p...
一维数组的指针二维数组名的问题???
[code=C/C++]#include rnusing namespace std;rnvoid main()rnstatic int a[3][5]=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;//<em>二维</em>数组中:a[0]是首行元素的地址,那a是什么?a=a[0]吗?rnint i,j;rnint (*p)[5];//这里定义了一个指向一维数组的<em>指针</em>rnp=a;//这里为什么用<em>二维</em>数组的数组名为p赋值?rnfor(i=0;i<
二维指针内存动态分配的问题
请教各位一个<em>二维</em><em>指针</em>如何动态分配内存?rnrn例如: int **a; 如何new和deleternrn请指教,谢谢!
二维指针问题,集思广益吧!
我碰到一个<em>二维</em><em>指针</em>的<em>问题</em>,请大家看看到底是怎么回事。rnrn代码如下:rnint main()rnrn int i;rn char en_week[7][4] = "SU","MO","TU","WE","TH","FR","SA";rn char num_week[7][3] = "0", "1", "2", "3", "4", "5", "6";rn char **point;rn rn printf("input num\n");rn scanf("%d", &i);rnrn if (!i)rn point = (char **)en_week;rn elsern point = (char **)num_week;rn/*<em>问题</em>一:在这两个赋值语句中,把(char **)去掉,会有警告。为什么?*/rnrn for (i=0; i);rn return 1;rnrnrn大家好好讨论讨论呢,分不够可在加!rn
二维指针数据的动态分配问题
rn[code=C/C++]rn...rn int** m;rnm=new int* [n*n]//n在前面定义过的一个常量rnfor (int i=0;i
二维数组与二维指针的赋值问题!
已知有已下定义:rnchar **point;rnchar *dic[][40]="lue","wu","lin";rn请问以下赋值如何理解:rnpoint=(char **)dic;rn谢谢!rn
二维指针指向二维数组的问题
#include rnrnrnrnint main(int argc , char* argv)rnrn int array[3][3] = rn 0,1,0,rn 1,1,1,rn 0,1,0rn ;rn int **pArray = NULL;rn pArray = new int*[3];rn for (int k = 0 ; k < 10 ; ++k)rn rn pArray[k] = new int [3] ;rn rnrn pArray = (int**)array;rn for(int i = 0 ; i < 3 ; ++i)rn for (int j = 0 ; j < 3 ;++j)rn rn// std::cout<
二维数组和二维指针的传递问题
再次看这篇文章,感觉说的好多都是废话,在文章最前面补充一句话: “[]的优先级高于*”,大家可以带着这句话看下面的~~~ ======================== 再一次的见证了自己的基础不牢靠。。。幸好发现得早,看见网上说,华为的一个面试题就考了这个方面的。 借那道华为的面试题引出<em>问题</em>,题目: char **p, a[16][8];  问:p=a是否会导致程序在以后
急求:::关于指针问题
#include rnrnvoid print(const int num) rnint *pnum; rnint onum=num; rnint i=0; rnfor(;onum!=1 ¦ ¦onum!=0;i++) rn*(pnum++)=onum%2; rnonum/=2; rn rn*pnum=onum; rnfor(;i!=0;i--) rncout < < < < '\n '; rn rn这个程序哪错了,请指教
求问:关于指针问题
char *s="ABCDEFG";rnint *t="ABCDEFG";rn为什么这两个声明是一样的?rns是一个指向char的<em>指针</em> char为什么能存这么多字符…rn为什么指向int的t<em>指针</em> 也能存字符……rn有点儿晕……
二维指针与三维指针动态分配内存
int ***temp_y = (int ***)malloc((v->size()) * sizeof(int **)); int ***temp_u = (int ***)malloc((v->size()) * sizeof(int **)); int ***temp_v = (int ***)malloc((v->size()) * sizeof(int **)); for(int
指针指针二维数组名
请教:rnmain()rnrnint **tx,i;rn.rn.rn.rntx=(int **)malloc(sizeof(int *)*10);rnfor(i=0;i,tx[5][2]);rnrn为什么两次输出不一样,参数这样传递有什么<em>问题</em>////rn
指向数组的指针二维指针
char(*a)[N];//指向数组的<em>指针</em> a=(char(*)[N])malloc(sizeof(char)* N *m); printf("%d\n",sizeof(a));//4,<em>指针</em> printf("%d\n",sizeof(a[0]));//N,一维数组 free(a); //free double ptr 转载于:htt...
请求帮忙关于指针
输入10个数的数组,从第x个数开始到第10个数移到数组开头去,要求用<em>指针</em>实现。rn我写了下面程序可是,不能得到输出,帮<em>帮忙</em>,各位!rn#includernvoid move(int num[],int n)rnrn int *p1,*p2,*p,i;rn p1=num+n+1;rn p2=num+10;rn for(i=0;i,&x);rn move(num,x);rnrn
指针_字符串-指针_字符串
<em>指针</em>_<em>字符串</em>-<em>指针</em>_<em>字符串</em>-<em>指针</em>_<em>字符串</em>
使用指针引用的方法和二维指针的方法交换两个字符串
#include using namespace std; //交换两个<em>字符串</em>--<em>指针</em>引用 //由于swap函数是<em>指针</em>引用,因此传入函数的就是实参,而不是形参 void swap(char *&x,char *&y,const string print="<em>指针</em>引用法") {     cout     char *p;     p=x;     x=y;     y=p;
关于指针字符串保存文件
目的:取得目录下所有文件名,保存成txt文件。rn<em>问题</em>:使用字符<em>指针</em>数组成功取得文件名,保存<em>指针</em>数组时不能成功保存已经取得的文件名。rn自己不知道<em>问题</em>出在那里,希望大家来帮我解答一下,希望能具体些(因为本人是超级初学者),谢谢。rn使用编译器:DEV-C++ 4992rn代码如下:rnrn#include rn#include rn#include rn#include rn#include rn#include rnrnint GetFileName(char *Directory);rnint SaveFileName(int Num);rnchar *ch[100];rnrnint main(int argc,char *argv[])rnrn SaveFileName(GetFileName(argv[1]));rn return 0;rnrnrnint GetFileName(char *Directory)rnrn DIR *d;rn struct dirent *dr;rn struct stat sbuf;rn int i=0;rn if((d=opendir(Directory)) == NULL)rn return;rn chdir(Directory);rn while((dr=readdir(d)) != NULL)rn rn stat(dr->d_name,&sbuf);rn if(S_ISDIR(sbuf.st_mode)) rn continue;rn elsern ch[i++]=dr->d_name;rn rn closedir(d);rn return i;rnrnrnint SaveFileName(int Num)rnrn FILE *fp;rn int i;rn fp=fopen("test.txt","w");rn for(i=0;i,i,ch[i]); rn rn fclose(fp); rn return 0;rnrnrn
不理解,关于字符串指针
rn string str;rn char *ch;rn cin>>str;rn ch=&str;rnrn//另外;rn int num;rn cin>>num;rn int array[num];rnrnrn//上面那样做为什么不行啊?又要怎样才能实现那样的功能呢?rn 期待并感谢各样的回指导,帮助!
关于字符串指针的转换??
main()rnchar a[10]="abcde";rn char *m ,*n;rn n=&a;rn *m=_______; \把M的<em>指针</em>指向<em>字符串</em>的尾端\rn for(;m>=n;)rn m--=n++;rn
关于指针输出字符串
[code=c]#include rnmain()rnrn char *string;rn scanf("%s",string);rn printf("\n%s\n",*string);rn[/code]rn运行后如图所示rn[img=https://img-bbs.csdn.net/upload/201408/12/1407812231_63234.png][/img]
关于指针字符串的知识
code: char * p = &quot;hello world&quot;; 任何试图对<em>字符串</em>中的元素的改变操作都会失败,因为在初始化一个<em>字符串</em><em>指针</em>的时候,此时的<em>字符串</em>为常量,被定义为只读。 如果想改变其中某个字符的话,可以使用字符数组: char ch[]={&quot;hello world&quot;}; 或者通过使用动态的申请一块区域: char *p; p = (char *)malloc(int size...
关于指针字符串
对于<em>指针</em>指向的<em>字符串</em>,"如果试图修改<em>字符串</em>的内容, 结果将不确定". 我的理解是: <em>指针</em>指向的<em>字符串</em>类似一个常量, 你可以修改<em>指针</em>,让它指向不同的<em>字符串</em>, 但不可以修改<em>字符串</em>的内容. 例如: int main() { char *a="i am a student\n"; int m=0; a[m]='n'; getchar(); } 会报错
关于指针字符串
下面几条语句。 int *str; fgets(str, 20, stdin);这是不对的,因为系统没有给<em>指针</em>分配内存缓冲区。 int str[1000]; fgets(str, 20, stdin); 这是可以的。 int *str; str = "C language";这是对的,因为<em>字符串</em>自行分配了空间,相当于字符数组。此时赋给str的是<em>字符串</em>的首地址的值。
关于指针字符串
#includernusing namespace std;rnchar* strcat1 (char*s,char*t)rnrn char*d=s;rn rn while(*s)rn rn s++;rn rn rn //s--rn int j=0;rn while(*s=*t)rn rn s++;rn t++;rn rn rn return d;rn rnrnint strend(char *s,char *t)rnrn int i=0;rn while(*s++)rn rn i++;rn rn while(*t)rn rn t++;rnrn rn while(*s--==*t--)//调试发现运行到这步时,<em>字符串</em>*S又指向‘i’字符去,而不是最后的空字符,求解释这I字符又哪来的rn rn i--;rnrn rn if(i==0)rn return 1;rn elsern return 0;rnrnrnrnrnint main()rnrn int i=0;rn char s[]="itle";rn char *t="iloveyou";rn char *k="you";rn //char *l="eyou";rn cout<
关于指向字符串指针
#include rnvoid main()rnchar *p="hello";rn p="ok";rn printf("%s",p);rnrnrn请问在执行p="ok";时,"hello"有没有被清除出内存啊?如果没有,怎样把"hello"清除出内存?rnrn
二维字符串
[code=c]rnconst UINT8 code TAB[3][5]=rn "NO.",rn "Data:",rn "Time:",rn;rn[/code]rnrn[code=c]rnconst UINT8 code *TAB[3]=rn "NO.",rn "Data:",rn "Time:",rn;rn[/code]rn第一种不占内存,<em>字符串</em>保存到ROM中的。但是第二种定义占内存?rn单片机RAM不够了,但是我想用第二种方法定义<em>字符串</em>,不是很理解rn
菜鸟求帮忙解答指针问题
#includernusing namespace std;rnint main()rnvoid sort(char (*p)[6]);rnint i;rnchar str[10][6];rnchar (*p)[6];rncout<<>str[i];rnp=str;rnsort(str);rncout<<0)rnstrcpy(t,s[j]);rnstrcpy(s[j],s[j+1]);rnstrcpy(s[j+1],t);rnrnrnrn这里 (*s)[6]的s是指向包含6个元素的一维数组的<em>指针</em>变量吧,那下面的s[j]是什么来的,明明是<em>指针</em>向量,怎么变成数组了,求各位兄弟<em>帮忙</em>解答,谢谢各位,另外想问问怎样学好<em>指针</em>,感觉好多概念,好混乱啊rn
帮忙分离下字符串
把<em>字符串</em> rnrn‘50000000~77109999,77690000~78059999,78220000~78299999,78350000~78359999,78410000~78459999,78470000~78499999,78980000~99999999’rnrn里面的数字截取出来,rnrn跪求大神指教!!!!
求指教指针问题字符串的插入
我按照一本书上的代码编辑了以下代码,但是总是输出乱码,请各位大神指点一二rn功能就是用将B<em>字符串</em>插入到A<em>字符串</em>中。[code=c]#include rn#include rn#include rnrnchar *myInsert(char *s,char *q, int n)rn int i = 0;rn char *str2,strcp[50];rn str2 = strcp;rn for(i = 0; *s != '\0';i++)rn if(i == n-1)rn for( ; *q!='\0';)rn str2[i] = *q;rn i++;rn q++;rn rn rn str2[i] = *s;rn s++;rn rn str2[i+1] = '\0';rn return str2;rnrnrn//<em>字符串</em>插入rnint main()rnrn char *strin, *str, *st;rn int i;rn str = "Hello,world!";rn strin = "pig";rnrn printf("输入插入的位置:");rn scanf("%d",&i);rnrn st = myInsert(str, strin, i);rn puts(st);rnrn return 0;rnrnrn[/code]rnrn控制台输出如图rn[img=https://img-bbs.csdn.net/upload/201702/07/1486471128_477361.jpg][/img]rn
关于时钟 指针重合的问题~~求各位大哥大姐帮忙
在有60个刻度的时钟上 求 时针 分针 秒针 一天内有多少次重合~~分别是什么时间~rn这个东西我想了2天了还是没什么进展~~尝试了很多方法~~明明知道是要用for 和ifrn结合~~但是越想脑子越乱~~~初学者啊- -! rn顺便在帮我解决一个:1酒鬼拿酒壶去买酒,看到人就喝一斗,遇到商店酒就加一倍,五遇人和商店,喝光酒壶里面的酒,求原来酒壶里有多少酒~~~也是用forrn这个是没有头绪~~~想想觉得这Y的题目怎么觉得很怪~~~似乎只能有2中结果就是0和5,但是又不知道怎么算比较好 头痛rn菜鸟啊~~~~求大家赐教下rnrn
一个关于指针及地址的问题,求大神帮忙....
#include "stdio.h"rnint main()rnrn unsigned int a=0x12345678;rn char *c=(char*)&a;rn printf("%x %x %x\n",*c,*(c+1),*(c+1)+1); rn return 0;rnrnrn//结果是78,56,57rn怎么得出78,56的这个我知道,但是*(c+1)+1怎么得出57的?rn我的理解是这样的:*(c+1)指向存储56这个字节的首地址,然后*(c+1)+1<em>指针</em>加1后就指向下一个字节到78那里了,那按理说输出的应该是78呀,怎么是57呢?难道*(c+1)+1同时指向了5和7?愿诸位大神能给出详细说明下...
二维指针指针和列指针的区别
<em>二维</em>行<em>指针</em>做输出时定义及使用#includeint main(void) { int a[3][4],c,d; int (*p)[4],i,j;//注意<em>二维</em><em>指针</em>,定义行<em>指针</em>(*p)[4] printf("Please input the number:\n"); for(c=0;c<4;d
关于添加问题【求帮忙
我要做的是个入库单,输入框和GV是在一个页面,本打算自动生成一个入库单号,然后一直往里面添加数据。如果刷新页面的话,入库单号又会重新生产,所以,想按了添加按钮以后除了入库单号其他的需输入的文本框都清空,然后继续在此入库单号下添加新的产品。要怎么办啊?rn有没有高手帮帮我啊!rn在线等待
关于栈的问题。。。求帮忙
为什么在英文状态下,当我输入 ( 时就不可以,输入 和 [ 时就可以判断,( 不是ASCLL码相差1吗?我写的有错吗?rnrnStackNode *Push(StackNode *top,char string[MAXSIZE])rn StackNode *p,*q;rn int i;rn char item,s;rn for(i=0;inext=NULL;rn p->data=item;rn p->next=top;rn top=p;rn rn if((s=='')||(s==')')||(s==']'))rn rn if((int)s==(int)top->data+1||(int)s==(int)top->data+2) //如果相等栈顶出栈并指向下一个。rn rn q=(StackNode *)malloc(sizeof(StackNode));rn q->next=NULL;rn q=top->data;rn top=top->next;rn free(q);rn rn elsern return top;rn rn rn return top;rn;rnrnint main()rn StackNode *top;rn int i,k;rn char string[MAXSIZE];rn top=InitStack(top);rn CreatStack(top);rn printf("请输入带 ( [的%d个字符的<em>字符串</em>:",MAXSIZE);rn for(i=0;i
CAD国家电子信息产业部高级工程师认证考试题库下载
信息产业部AUTOCAD/ ProE认证证书是全国计算机辅助设计行业中承认范围最广的一项技术证书,考题为40道选择题,题型包括理论题、绘图题、软件操作题等,总分为100分,60分即可通过。 是目前国内六大权威性认证之一。获得AUTOCAD/ ProE认证证书,即证明了自己具备使用AUTOCAD/ProE产品,为企业成功设计并绘制复杂图形、图表的能力。AUTOCAD/ ProE认证提高了学员的技术水平,增强了他们的职场竞争能力,获得证明自己能力的权威证书将为你今后的学习和就业提供坚实的保障。 相关下载链接:[url=//download.csdn.net/download/shangxue320/2140798?utm_source=bbsseo]//download.csdn.net/download/shangxue320/2140798?utm_source=bbsseo[/url]
Java基础教程Java基础教程下载
Java教程 Java基础教程 pdf文档 相关下载链接:[url=//download.csdn.net/download/lk4444/3472098?utm_source=bbsseo]//download.csdn.net/download/lk4444/3472098?utm_source=bbsseo[/url]
硬件描述语言四位全加器下载
这是硬件描述语言四位全加器的实验报告 用了行为描述方式,已在电脑上验证,可放心使用 相关下载链接:[url=//download.csdn.net/download/zhangmin19921/5245945?utm_source=bbsseo]//download.csdn.net/download/zhangmin19921/5245945?utm_source=bbsseo[/url]
相关热词 c# gdi 占用内存 c#中遍历字典 c#控制台模拟dos c# 斜率 最小二乘法 c#进程延迟 c# mysql完整项目 c# grid 总行数 c# web浏览器插件 c# xml 生成xsd c# 操作sql视图
我们是很有底线的