**
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