1.数组指针:
<1.数组名就是数组的地址。
<2. 指针p+1,地址长度增加对应指针定义的数据类型的长度。
通过数组指针变量数组:
- //第一数组
- int ages[5]={22,23,21,25,20};
- //定义指针
- int *p;
- //将指针p指向数组ages
- p = &ages[0]; // 指向数组的第一个元素的地址; 亦可以如下:p = ages; 因为数组名即为数组的地址
- for (int i =0 ; i < 5 ; i++ ){
- printf("ages[%d]=%d\n" , i , *(p+i));
- }
复制代码 2.字符串指针:
通过字符数组定义字符串:- char name[ ] = "jack"; //字符数组中的元素可以随意更改,因为其存放位置为存放变量的堆栈
复制代码 通过指针定义字符串:
- char *name = "jack"; //字符串中的元素不能随机更改,因为其存放位置为存放常量的常量区。
复制代码 3.字符串数组:
通过二维字符数组定义:
- char names[2][5]={"abcd","efgh"}; //[2]表示字符串个数;[5]表示每个字符串的最大长度。
- printf("%s\n%s\n",names[0],names[1]);
复制代码 通过指针定义:- char *names2[3]={"12345","67890"}; //[3]表示字符串个数,每个字符串不定长
- printf("%s\n%s\n",names2[0],names2[1]);
复制代码
|
|