**
C语言指针解析1
** C语言中指针应用实例,如以下程序,定义了一个strcat函数和二级指针agrv,很经典的阐释了指针其实也是一个变量而已,变量存储是其它变量的储存索引,不要觉得过于神秘。 #include <stdio.h> #include <string.h> #include <malloc.h> void f(char **p){ char *t; t = (p+=1)[-1]; printf("%s\n",t); } char *Strcat(char *s1,char *s2){ char *p, q; p = (char)malloc((strlen(s1)+strlen(s2)+1)*sizeof(char)); // 分配堆空间 q = p; while(*q++=*s1++); q–; while(*q++=*s2++); return p; } int main() { int a[][3] = {{1,2,3},{1,2,3},{1,2,3} char *agrv[] = {“a”,“b”,“c”}; // agrv是数组指针,数组指针指向3个地址,3个地址分别对应a,b,c字符串。 f(agrv); char *s ; s =Strcat(agrv[0],agrv[1]); printf("%s",s); return 0; } 以上程序执行后,结果如下: a ab
|