关于数组指针,指针数组和字符串数组的一些问题
2017-03-14 14:51
323 查看
数组指针,本质是一个指针,是一个指向数组的指针。
指针数组,本质是一个数组,是一个其中每个元素都是指针的数组。
数组指针的定义:int (*p)[5] ;
指针数组的定义:int *p[5] (或int *(p[5]));
数组指针的用法:
指针数组的用法:
此外,若想定义一个字符串数组来存放字符串并想用指针访问它,可如下所示:
指针数组,本质是一个数组,是一个其中每个元素都是指针的数组。
数组指针的定义:int (*p)[5] ;
指针数组的定义:int *p[5] (或int *(p[5]));
数组指针的用法:
#include <stdio.h> void main(void) { //数组指针的用法 int (*a1)[10]; int b[10] = {1,2,3,4,5,6,7,8,9,0}; a1 = &b; printf("b = %d\n", *a1[0]); }
指针数组的用法:
#include <stdio.h> void main(void) { //指针数组的用法 int *a2[10]; int b[10] = {1,2,3,4,5,6,7,8,9,0}; a2[0] = &b[0]; printf("b = %d\n", *(a2[0])); }
此外,若想定义一个字符串数组来存放字符串并想用指针访问它,可如下所示:
#include <stdio.h> void main(void) { char a[10][10] = {"a","b","c","d","e","f","g","h","i","j"}; char *p[10]; int i = 0; for(i=0;i<10;i++) { p[i] = a[i]; } for(i=0;i<10;i++) { printf("a = %s\n", p[i]); } }其中a[10][10]中,第一个10是字符串个数,第二个10是字符串长度。
相关文章推荐
- 关于C语言字符数组、字符串和指针的相关问题
- 关于字符串与字符数组的一些小问题
- 关于数组指针,字符串指针的一些小细节
- 关于指针和数组对申请内存malloc和作为参数传递的一些问题
- 关于指针字符串和数组字符串的一些经验
- 关于字符串 字符数组 字符型指针的问题
- 关于指针、数组、字符串的一些想法
- 关于数组和指针的一些基本问题
- 关于结构体里面的字符串指针输出出现乱码的问题与结构体数组作为参数传值的问题
- 关于字符串指针的一些问题及字符串的左旋转代码
- 关于动态数组、静态数组转换为字符串的一些问题 - 给 "厨师" 的回复
- 关于递归调用,函数指针,数组,字符串的一些理解
- 关于char数组和字符串的一些问题
- 关于数组的&a[0]和&a及指针访问的问题
- c和指针 指针数组 关于指针数组
- 纯C语言中数组、指针、字符串问题
- 一些被我忽略的问题(字符串指针)
- 关于DELPHI数组,指针,字符串转换的例子!(转)
- 鸡啄米:C++编程入门系列之二十九(数组、指针和字符串:指向数组元素的指针和指针数组)
- 指针数组与数组指针,一切都是指针问题