zoukankan      html  css  js  c++  java
  • 2015.8.5数组与指针练习总结

     1 #include<stdio.h>
     2 
     3 char str[]="Hello~world!";
     4 
     5 char *ptr=str;//数组名只代表数组元素的首地址,即str[0]的地址,
     6 //故此处也可以这样写:  char *ptr=str[0];
     7 
     8 void main()
     9 {
    10 
    11 //printf("%s",str);//能够将数组中元素正常显示出来
    12 
    13 
    14 //printf("%s",*ptr);//程序会发生错误,因为指针ptr是指向数组首地址的,故*ptr即a[0]
    15 //所以不能使用%s,要使用%c,这样就只能显示一个字符了
    16  
    17 /*   char i=0;
    18     do{
    19         printf("%c",*(str+i));
    20         i++;
    21     }
    22     while(*(str+i));//这样写也是能实现功能的,因为数组名的实质就是一个指针常量,该指针常量是指向
    23     //该数组元素的首地址的
    24 */
    25 
    26 
    27 /*    do{
    28     printf("%c",*(str++));
    29     }
    30     while(*(str++));
    31 */
    32 //以上这种写法是非常不正确的,因为什么呢?上一段代码中我们说过,数组名实质上就是一个指针常量,既然是常量的
    33 //话就是不允许对其进行改变的,只能像上一段代码那样写。
    34 
    35 
    36 
    37 
    38 /*do{
    39     printf("%c",*ptr);
    40     }
    41   while(*(ptr++));*/
    42     //这段代码是正确的,为什么呢?因为ptr是一个指针变量,而变量是允许被修改的
    43 
    44 }
  • 相关阅读:
    DIV 设置垂直居中
    JavaScript--什么是函数
    JavaScript--引用JS外部文件
    JavaScript--如何插入JS
    CSS-类和ID选择器的区别
    CSS-ID选择器
    CSS类选择器
    CSS样式介绍
    HTML--使用mailto在网页中链接Email地址
    HTML--form表单中的label标签
  • 原文地址:https://www.cnblogs.com/wan0807/p/4709013.html
Copyright © 2011-2022 走看看