ChinaUnix.net
相关文章推荐:

数组指针的使用

在ec中我想先声明一个字符型指针数组(不指定长度),在后面再根据需要确定其长度,不知如何实现?我试过好像在ec中必须指定数组长度。 还有就是在使用指针数组时要注意些什么?请各位老大指教!

by begain - C/C++ - 2003-06-19 13:33:52 阅读(607) 回复(5)

相关讨论

[code] #include ; #include ; main(void) { char *target = "abc"; char *source = "I love you!"; strcpy(target, source); puts(source); puts(target); } [/code] 运行结果: [code] ve you! I love you! [/code] 程序没有考虑目标字符串是否容纳得下源字符串,但编译通过,运行时也复制了想要的目标字符串,但源字符串的内容却被无端修改了,这是因为存储越界引起的吗? 修改代码,...

by chuanshi - C/C++ - 2005-06-07 12:17:48 阅读(8371) 回复(23)

声明了数组,char s[200]; 编译这句程序,会报错: if(*s++ == '\t') 出错结果为: error: lvalue required as increment operand

by Godbach - C/C++ - 2008-01-05 19:53:37 阅读(1596) 回复(9)

有一个字符串,要求使用指针数组,完成对字符串的排序! 最好写的详细一点,我很苦恼,一直没有调试过去,太着急了。

by iamagoodmaster - C/C++ - 2006-07-25 16:45:24 阅读(813) 回复(1)

要定义这个结构指针数组: p --> +-------------------+ . | int[10]的地址 . +-------------------+ . | int[10]的地址 . +-------------------+ . | int[10]的地址 . +-------------------+ . | n列 c语言怎么写,这样? int (*p)[10][n] 这个好像是指向二维数组指针了。。

by maxxfire - C/C++ - 2008-08-04 10:17:54 阅读(1761) 回复(10)

char (*aryPtr)[31] aryPtr = (×××)malloc(31) ; 请问这里的×××填什么?

by 灵坷 - C/C++ - 2004-02-10 11:36:55 阅读(1184) 回复(17)

使用指针从函数返回一个数组 int (*func())[20]; func是一个函数,返回一个指向含20个int的数组指针。 编译的时候出现这样的错误: /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crt1.o: In function `_start': (.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status 程序里哪里出现了问题呢? [code] #include #include int (*func())[20]; int mian(void) { in...

by xiaozhu2007 - C/C++ - 2008-01-06 21:58:13 阅读(3370) 回复(8)

定义一个字符数组: char str[3]={'a','b','c'}; 定义一个指针数组: char *string[4]={"FORTRAN","PASCAL","BASIC","C"}; ------------------------------------------------------------------------ 既然字符数组元素存储的是字符,那指针数组元素为什么不存储指针?我在这里怎么也理解不了? :em14: [ 本帖最后由 光速 于 2008-12-18 16:25 编辑 ]

by 光速 - C/C++ - 2008-12-19 11:09:43 阅读(2115) 回复(14)

贴一段代码上来,分享自己的理解,大家可以讨论一下。 [code] #include int main() { //one char *c[]={"aaa","bbb","ccc"}; //c++;//error c是数组名 c本身的值是数组的起始地址 c的值不能改变 //two char **p=c;//p是指向c起始地址的指针变量 ++p;//ok p现在指向c[1]或*(c+1)或*c+sizeof(*c); printf("%s\n",*p); printf("%s\n",c[1]); printf("%s\n",*(c+1)); printf("%s\n",*c+sizeof(*c)); return...

by teng0210 - C/C++ - 2009-09-20 01:02:45 阅读(1035) 回复(2)

先看一道题: int main() { int a[5] = {1,2,3,4,5}; int *p = (int *) (&a+1); printf("%d %d", *(a+1), *(p-1)); return 0; } 程序输出 2 5 。 我在网上看到一篇文章说数组名是一个常量,它的内容就是数组的首地址。 *(a+1)就是数组第二个元素,(&a+1)中的&a取出来的也是数组首地址啊, 为什么带有类型信息? 同样,将数组作为参数传到一个函数里: int foo (int []a) 与 int foo(int (&a)[] )也不同,...

by vanC - C/C++ - 2008-11-09 20:48:34 阅读(1728) 回复(11)

定义一个指针数组 char *p[3]; 然后对其赋值 printf("%s",p[1]); 报错 但是改成 printf("%s",&p[1]); 就可以了 为什么?p[1]不就是一个指针吗?为什么操作的时候又和指针不一样? PS: [code] char *eth[10]; int i=0; FILE *PP; PP=fopen("/home/ip3.txt","r"); fgets(ð[0],15,PP); printf("%s",ð[0]); [/code] [ 本帖最后由 bluecase 于 2008-10-31 15:52 编辑 ]

by bluecase - C/C++ - 2008-11-10 23:35:17 阅读(8214) 回复(41)