zoukankan      html  css  js  c++  java
  • 字符串字面量与指针

     1 #include <stdio.h>
     2 
     3 int main(int argc, const char *argv[]) {  
     4 
     5   char *str, *p;  int len;
     6 
     7   str = "c program!";    
     8 
     9   p = str;
    10 
    11   while(*p != '')   
    12 
    13     p++;
    14 
    15   len = p - str;
    16 
    17   printf("str:%s, len:%d
    ", str, len);
    18 
    19   return 0; 
    20 
    21 }

    str:字符指针变量,位于内存中的栈区;

    “c program”:字符串字面量(字符串常量),用一对双引号括起来的字符序列。存储于内存中的常量区;

    从本质而言,C语言把字符串字面量作为 只读 的字符数组来处理,因此 编译器会把字符串字面量看作是char *类型的指针。例如:   printf(“abc”);    //当调用printf函数时,会传递“abc”的地址(即指向存储字母a的内存单元的指针)

    通常情况下,C语言下可以在允许使用char *指针的地方使用字符串字面量。

    1 例如: 字符串字面量用于=右边赋值:
    2     char *p;
    3       p = "abc";          //使p指向字符串的第一个字符
    1 例如:C语言允许对指针取下标,因此可以对字符串字面量取下标
    2     char ch;
    3     ch = "abc"[1];         //赋值后ch的值为b
  • 相关阅读:
    202103226-1 编程作业
    MSF原则
    介绍
    4 20210412-1 原型设计作业
    案例分析作业
    第二次编程
    阅读任务
    自我介绍
    案例分析作业
    阅读任务
  • 原文地址:https://www.cnblogs.com/minuse/p/3277964.html
Copyright © 2011-2022 走看看