1 // 数值指针和指针数组 2 // C语言环境 3 4 #include "stdafx.h" 5 6 int main(int argc, char* argv[]) 7 { 8 //数组指针,是一个指针. 这个指针指向一个数组. 9 //指针数组,是一个数组. 这个数组里面存放的元素是指针. 10 //怎么看? 11 //看谁的优先级高,优先高的就是重点. 12 13 char p[] ={'A','B','C','D'} ; 14 //这是一个名字叫p的字符数组,这个数组有4个char型的元素. 15 16 char* pchar[] = {"一年级","2年级","3年级","4年级"} ; 17 //因为[ ]的优先级比 * 要高,重点就是[ ],也就是数组. 18 //所以这个是一个数组,这个数组名字叫 pchar 19 //数组里面放4个元素,这4个元素是指针(char*),根据指针里面的内容作为地址所找到的是char型. 20 // " " 说明是一个字符串,字符串理解为是一个地址. 21 //因为汇编语句里面,是先把字符放到某个内存里面,而再使用这个内存的地址进行赋值给其他变量. 22 23 char b[] = {'A','B','C'}; 24 //这是一个名字叫b的字符数组,这个数组有3个char型的元素. 25 26 char (*cha)[3] = {&b}; 27 //因为() 的优先级比 [] 要高,( )里面的一个*,说明重点就是( )里面的 * ,也就是指针. 28 //所以这是一个指针,指针的类型是 char (*)[3] ,这个指针名字叫 cha 29 //这个指针内容是一个数组的首地址, 这个数组里面必须要有3个char型的元素. 30 31 return 0; 32 }