c语言或符号运算(c语言入门必背单词)

用指针访问一维数组

数组里面所有的元素是连续的内存存放的,数组名是数组第一个字节的内存地址,并且数组名a也表示指针,在表达式可以被转换为和 p 等价的指针!a作为右值 并不表示a地址存储的内容, 而是数组首元素首地址

c语言或符号运算(c语言入门必背单词)

指针进行加法(减法)运算时,它前进(后退)的步长与它指向的数据类型有关

p的数据类型为int (*) [3],一维数组a[0]有3个整型数据就是12个字节,a+1 = 412

a[0]的数据类型为int *

一个小练习:打印出字符串指针数组中每一个字符

指针法:字符串相当于一个一位数组

#include<stdio.h>int main(){char * array[5] = { "array","11","kankanshisha","pointer","c program" };  char * (*p) = array;//指向数组元素(char指针类型)的首地址的指针 for (int i = 0; i < 5; i++){for (int j = 0; '' != *(*(p + i) + j); j++) {printf("%c", *(*(p + i) + j));}printf("n");}return 0;}

数组下标法:

#include<stdio.h>int main(){char * array[5] = { "array","11","kankanshisha","pointer","c program" };char * (*p)[5] = &array;//指向数组首地址的指针 (*p)===数组名字arrayfor (int i = 0; i < 5; i++){for (int j = 0; (*p)[i][j]!=''; j++){printf("%c", (*p)[i][j]);}printf("n");}return 0;}
(0)
小多多的头像小多多创始人

相关推荐

发表回复

登录后才能评论