例:char *p=a;
那么a的地址就是1111
但是变量a不是1111
这时候p就被a的地址赋值了
那么p=1111,p存储的是a的地址,而不是a的值
那么*p就是访问地址1111里面的变量a的值
同理:char *p=0xf;
*p也会访问地址1111里面的变量a的值
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
如何理解指针2
那么嵌入式里char *p和char *str功能一样嘛?
答:
在嵌入式系统中,char*p和char*str的功能并不完全相同。
char*p是一个指向字符型变量的指针,可以用来存储一个字符型变量的地址。它可以用来访问单个字符或者一段连续的字符。
char *str是一个指向字符型数组的指针,可以用来存储一个字符串的地址。它可以用来访问整个字符串,包括字符串中的每个字符。
虽然它们都是指向字符型变量的指针,但是它们的使用场景和功能是不同的。在嵌入式系统中,需要根据具体的需求选择合适的指针类型来使用。C
嵌入式里怎么看是单个字符还是一段连续的字符?并且举出例子
答:
在嵌入式中,可以通过使用字符串函数来判断一个变量是单个字符还是一段连续的字符。
例如:使用strlen()函数可以获取一个字符串的长度,如果长度为1,则说明该变量是单个字符;
如果长度大于1,则说明该变量是一段连续的字符。
另外,也可以使用字符数组来存储一段连续的字符,而使用单个字符变量来存储单个字符。
举出的对比例子:
在嵌入式中,可以通过使用单引号或双引号来区分单个字符和一段连续的字符。
例如,使用单引号括起来的字符表示单个字符,如:char c= 'A';
而使用双引号括起来的字符表示一段连续的字符,也称为字符串,如:char str[]= "Hello World";
在上面的例子中,变量c表示一个单个字符'A',而变量str表示一个包含11个字符的字符串"Hello World"。C