C指针——指向指针的指针(程序讲解)
Posted happying30
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C指针——指向指针的指针(程序讲解)相关的知识,希望对你有一定的参考价值。
4-1.c多维数组的定义
#include<stdio.h> int main(void) { int i,j; int data[2][3]={{1,2,3},{4,5,6}}; //定义二维数组data,2行3列;并对其进行初始化 printf("data[2][3]: "); for(i=0;i<2;i++) { for(j=0;j<3;j++) { printf(" %d",data[i][j]); } printf(" "); } return 0; }
上例子为(a)
结果(a):
data[2][3]: 1 2 3 4 5 6
对(a)进行修改:数组 int data[2][3]; 只定义不赋值。
结果(b):
data[2][3]: -858993460 -858993460 -858993460 -858993460 -858993460 -858993460
对(a)进行修改:数组 int data[2][3]={{1,2,3}};
结果(c):
data[2][3]: 1 2 3 0 0 0
对(a)进行修改: printf(" %d",&data[i][j]);
结果(d):
data[2][3]: 2227836 2227840 2227844 2227848 2227852 2227856
4-2.c指针的指针
#include<stdio.h> int main(void) { char *name[]={"Fujian","Huian"}; //定义指针数组name,并对其进行初始化 char **p_name; //定义指针的指针p_name printf("name[0]:%p ",name[0]); //输出指针数组元素name[0]的值,这里是第一个字符串的首地址 printf("name[1]:%p ",name[1]); printf(" "); p_name=&name[0]; //把name[0]的地址赋值给p_name,即p_name指向name[0],因为name[0]的内容是地址,所以p_name是指向地址的指针变量,即指针的指针 printf("&name[0]:%p ",p_name); //输出p_name的值,即name[0]的地址 p_name=&name[1]; printf("&name[1]:%p ",p_name); return 0; }
两个地址:前一个是指针变量的内容,即被指针变量指向的数据的地址;后一个是指针变量本身的地址,这个地址就是指针的指针的内容。
结果:
name[0]:000E5788 name[1]:000E5780 &name[0]:002EF854 &name[1]:002EF858
以上是关于C指针——指向指针的指针(程序讲解)的主要内容,如果未能解决你的问题,请参考以下文章