字符串的数组形式和指针形式声明及其区别 整理版(摘自《C Primer Plus 中文版第六版》第11章及黑马程序员2018C语言提高深入浅出ch1-5 )

本节内容需要掌握内存分区的概念,可以参见:C程序的内存分区(节选自黑马训练营day1)

下面来看例程:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define sTring "I like C!" //定义一个宏字符串

1
void locationOfString() //不同声明形式下,字符串地址 2 { 3 char arrString[]="I am a freshman!"; //数组形式声明字符串 4 char *p=arrString; //声明指针指向上面字符串 5 char*q="I am a freshman!"; 6 printf("字符串本身的地址是: %p 字符串的内容是: %s","I am a freshman!","I am a freshman!\n"); 7 printf("字符串数组的地址是: %p 字符串数组的内容是: %s\n",arrString,arrString); 8 printf("指向字符串数组的指针的地址是:%p 指向字符串数组的指针的内容是:%s\n",p,p); 9 printf("指向字符串的指针的指向地址是:%p 指向字符串的指针的内容是: %s\n\n",q,q); 10 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyjfd.html