c语言字符串与指针

来源:互联网 发布:mysql join 编辑:程序博客网 时间:2024/06/05 12:40
////  main.c//  c指针////  Created by stevenchang on 9/4/15.//  Copyright (c) 2015 cz. All rights reserved.//#include <stdio.h>void printfArray(int array[]);   //声明一个函数,用于打印数组元素int main(int argc, const char * argv[]) {        printf("============================\n");    /**     2.指针与字符串     */        char str[] = "adfafa";    //定义了一个字符串变量    //可以通过str来改变数组中相应的值    str[1] = 'A';    printf("%s\n", str);        char *str1 = "14314141";    //定义了一个字符串常量//    str1[1] = 'a';      //通过指针来改变字符串常量是不合法的,因为字符串常量是不允许修改的。    printf("%s\n",str1);      //str1指向的是字符串的首地址printf打印会以首地址开始,遇到'\0'结束    char *str2 = "14314141";    printf("%p=%p\n", str1, str2);   //两个地址是相同的,说明指向了计算机中同一块地址        printf("============================\n");    /**     3.指针数组和字符串输入     指针数组,每个元素存放的都是相应的地址;     字符串输入:使用的是scanf函数     */    char *str3[3] = {"dasfafa","adfafa","dfafas"};    printf("%s\n",*str3);  //打印出首元素    printf("%s\n",str3[1]);        char str4[10];    printf("请输入一个字符串:");    scanf("%s",str4);   //scanf函数用于输入    printf("输入的字符串为:%s\n", str4);    return 0;}

指针字符串指向的是计算机中的常量区:常量不是允许改变的;

字符串数组指向的是栈区(可以修改里面的内容)。

指针字符串指向的是字符串的首地址,使用printf打印字符串时,只有当遇到'\0'才会结束输出。

指针数组:就是用于存放指针的数组。每个指针元素都对应一个内存地址。

字符串输入很简单,就是使用scanf函数。

0 0