//
// 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函数。