字符串和存储区
来源:互联网 发布:freecodecamp python 编辑:程序博客网 时间:2024/05/23 13:58
特别提醒:
- 注意字符串和字符数组的区别(当初总是混淆)
- 注意char string[ ] =”shanghai” 和 char *p=”shanghai”的区别(存储区域不一样)
//// main.c// 字符串//// Created by fzl// Copyright © fzl. All rights reserved.///* 1.栈区:保存局部变量:函数里面定义的变量 2.堆区:手动分配内存 3.静态区(全局区):静态变量,全局变量 4.代码二进制区: 5.文字常量区:常量字符串 */#include <stdio.h>void test1(){ /* char str[4] 所有的字符串都是字符数组,但是字符数组不一定是字符串 */ char str[4]={'a','b','c','d'}; char str1[4]={'a','b','c','\0'}; //定义字符串:以'\0'做结尾标志 //1. char string[10]={'a','b','c','d'}; //2. char string1[10]={"1234567"}; //3. char string2[10]="123456"; //4. char string3[]="1234"; /* 这是错的 char string4[10]; string4[10]='c'; */ //5.字符串不能这么初始化,这个只能叫做字符数组 //char string4[]={'a','b','c','d'};}void test2(){ char string1[3]={'i','t','\0'}; char string[2]={'o','k'}; int i=0; for (i=0; i<2; i++) { printf("string[%d]=%p\n",i,&string[i]); } printf("\n"); for (i=0; i<3; i++) { printf("string1[%d]=%p\n",i,&string1[i]); } printf("%s\n",string);}void test3(){ //指针初始化字符串 char *p="I LOVE CHINA"; char *q="I LOVE YOU"; printf("p=%p\nq=%p\n",p,q); // p[0]='r';错的,文字常量区的内容只读 printf("%s\n",p); char string[12]="1234";}void printString(char *string){ //string[0]='u'; printf("%s\n",string);}int main(){ char string[10]="shangHai";//存储于栈区 char *p; p="shangHai";//存储于静态常量区,切记return不能返回一个指向“栈区”的引用和指针 printString(p); return 0;}
1 0
- 字符串和存储区
- 有关常量字符串和静态存储区
- 常量字符串和静态存储区
- 常量字符串和静态存储区
- 字符串函数和存储过程
- Redis 存储字符串和对象
- Redis 存储字符串和对象
- Redis 存储字符串和对象
- Redis 存储字符串和对象
- Redis 存储字符串和对象
- Redis 存储字符串和对象
- Redis 存储字符串和对象
- 字符串和字符串的常见存储结构
- 字符串中存储""和null区别
- 关于字符串的存储和输出问题
- 字符串创建和存储机制1
- 字符串创建和存储机制2
- Redis 存储字符串和对象<转>
- 让Fetch()也可以Timeout
- HDOJ 3460 Ancient Printer
- randomAccessFile
- 师--链表的结点插入
- 神经网络在化学中的应用
- 字符串和存储区
- 为什么加了内存条系统会快一些?
- D:\eclipse\WorkspaceOne\ssm-demo2\target\m2e-wtp\web-resources\META-INF\MANIFEST.MF (系统找不到指定的路径。)
- react+redux+react-redux
- F(x) HDU
- 初探 React Router 4.0
- css样式实现一个进度条
- HDFS java 操作 HDFS
- uboot sf 命令用法