• 字符串字面量与指针


     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
  • 相关阅读:
    sessionStorage用于分页,瀑布流和存储用户数据等
    js瀑布流
    sql 日结
    js 去除html标签
    c# 去除文本的html标签
    jQuery 数据滚动(上下)
    jQuery 图片随滚动条滚动加载
    sql 指定范围 获取随机数
    js 时间格式化
    js自写字符串 append 方法
  • 原文地址:https://www.cnblogs.com/minuse/p/3277964.html
Copyright © 2020-2023  润新知