Java教程

1、有趣的指针

本文主要是介绍1、有趣的指针,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、今天发现指针数组一个有趣的现象,众所周知,数组是基于指针而生成的,故指针和数组是可以进行相互转换,如下所示:

int num[20];
num[1] = *(num+1);

但指针和数组还是存在不同点,其中之一便是指针名称是变量而数组名称是常量:

int num[20];
int* num1  = num;
num += 1 ; // 无效,因为数组名称是常量,不允许修改。
num1 += 1 ; //有效,且指针指向num[1]

2、指针数组和数组的名称均代表第一个元素的首地址,并且带引号的字符串其也代表首地址

char ch[20] = "Lebron James"; // ch 代表 L字符的地址
char* ch1 = "Kyrie Irvring";   // ch1 代表K字符的地址 ,因为引号代表首地址,故可以将指针赋值。

3、使用cout 输出int 类数组名称得到的是首个int元素的地址,但使用cout输出char类数组名称得到的是整个char数组的元素直到遇到'\0'为止。

int num[20] = {1,2,3,....};
char ch[20] = "tiger." ;
cout << " num =  " << num << endl ; // 输出地址 如 0x .....
cout << " ch  =  " << ch  << endl ; // 输出字符串tiger.

这篇关于1、有趣的指针的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!