字符指针赋值、传值

1.先来理解一下指针的初始化及赋值 

int main()
{
    char *a;
	cout<<"please input the plaintext"<<endl;
    cin>>a;
    cout<<a;

}

 

 a=...是给a赋值

*a=...是给a指向的内存赋值

上述代码错误在没有把一个变量的地址赋值给指针

典型的:

int *a;//定义一个放整形变量地址的整形指针

int i; //定义一个整形变量

a = &i;//a指向整型变量i的地址

*a=3;//此时i的值为3,通过指针指向的地址的操作

 

对指针进行初始化时常用的有以下几种方式:

  1.采用NULL或空指针常量,如:int *p = NULL;或 char *p = 2-2; 或float *p = 0;

  2.取一个对象的地址然后赋给一个指针,如:int i = 3;  int *ip = &i;

  3.将一个指针常量赋给一个指针,如:long *p = (long *)0xfffffff0;

  4.将一个T类型数组的名字赋给一个相同类型的指针,如:char ary[100]; char *cp = ary;

  5.将一个指针的地址赋给一个指针,如:int i = 3;  int *ip = &i;int **pp = &ip;

  6.将一个字符串常量赋给一个字符指针,如:char *cp = “abcdefg”;
摘自:https://blog.csdn.net/mhjcumt/article/details/7351032

2.正确的字符串为字符指针赋值

int main()
{
	char plaintext[100];
	char *a=NULL;
	cout<<"please input the plaintext"<<endl;
	cin>>plaintext;
	a=plaintext;
	cout<<"a的值:"<<a<<endl;
	cout<<"*a的值:"<<*a<<endl;
}

 

 

 

 3.传值:形参为*plaintext,指针指向字符串第一个字符h

void Transform(char *plaintext)
{
	cout<<"传过来的plaintext:"<<plaintext<<endl;
	cout<<"*plaintext:"<<*plaintext<<endl;
}

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统地讲述c语言的基础知识、基本语法以及编程方法,并且结合c阐述面向对象的程序设计思想,使读者在掌握c语言语法知识的同时,能够解决现实生活中较简单的问题,并用计算机语言进行描述。本书每一章中都用大量实用性较强的例题阐述基本知识点,同时在每章的最后都提供一个有一定难度且趣味性较强的综合实例,将本章中多个知识点有机地结合起来,力求读者能把理论与实践紧密结合,体会解决实际问题的过程。全书内容精练,重点突出,从实例出发提出概念,突出应用,趣味性强。 语言表达严谨、文字通俗易懂,同时配有题型多样的典型习题,适用于c高级语言程序设计的初学者,可以作为普通高等院校中电子信息类专业程序设计基础的教材,也适宜有兴趣学习c的非计算机专业学生作为辅助教材,同时也适合自学。 目录编辑 第1章c简单程序设计1 1.1概述1 1.1.1c语言的发展历史1 1.1.2c程序设计的初步知识2 1.1.3字符集5 1.1.4词法记号5 1.2基本数据类型6 1.2.1基本数据类型7 1.2.2变量8 1.2.3常量10 1.3运算符和表达式13 1.3.1运算符的优先级14 1.3.2算术运算符及其表达式15 1.3.3关系运算符与逻辑运算符15 1.3.4增1、减1运算符及其表达式17 1.3.5赋值运算符、复合的赋值运算符及其表达式17 1.3.6条件运算符18 1.3.7位操作运算符18 1.3.8其他运算符20 1.3.9数据类型转换21 1.3.10类型别名22 1.4面向对象设计思想及其实例23 1.4.1程序设计语言的发展23 1.4.2面向过程的程序设计(pop)思想23 1.4.3面向对象的程序设计(oop)思想24 1.4.4面向对象思想分析实例——卖报亭24 1.5c上机实践26 1.5.1c程序的实现过程26 1.5.2cbuilder可视化编程环境27 本章小结30 习题31 第2章数据的输入/输出与控制结构34 2.1键盘输入34 2.2屏幕显示输出35 2.3字符数据的输入输出36 2.3.1字符数据的输入与输出36 2.3.2字符串的输入与输出37 2.4程序基本控制结构38 2.4.1语句的概念38 2.4.2算法的基本控制结构41 2.5选择结构42 2.5.1if-else语句42 2.5.2switch语句46 2.6循环结构48 2.6.1while语句与do-while语句48 2.6.2for循环语句50 2.6.3ifgoto实现循环功能51 2.6.4循环的嵌套52 2.7跳转语句53 2.7.1break语句54 2.7.2continue语句54 2.7.3break语句与continue语句的比较54 2.7.4goto语句55 2.8编程实例——水果收银机55 本章小结56 习题57 第3章数组61 3.1数组的基本概念61 3.2数组的定义与数组元素的表示法62 3.2.1数组的定义格式62 3.2.2数组元素的表示方法62 3.3数组的赋值63 3.3.1数组赋初值63 3.3.2数组赋值65 3.4字符数组66 3.4.1字符数组的定义格式66 3.4.2字符数组的赋值66 3.4.3字符数组的输入输出操作67 3.4.4字符串处理函数68 3.5编程实例——选择法排序和josephus问题70 3.5.1选择法排序70 3.5.2josephus问题71 本章小结72 习题72 第4章函数76 4.1函数的定义与调用76 4.1.1函数的定义76 4.1.2函数的声明和调用77 4.2函数的调用方式和参数传递79 4.2.1函数的调用过程79 4.2.2函数的传值调用80 4.2.3函数的引用调用81 4.2.4数组作为函数参数83 4.3函数的嵌套调用和递归调用85 4.3.1函数的嵌套调用85 4.3.2函数的递归调用86 4.4带默认形参值的函数90 4.5内联函数和重载函数92 4.5.1内联函数92 4.5.2重载函数93 4.6编程实例——二进制与十进制的转换94 本章小结95 习题95 第5章程序结构100 5.1全局变量与局部变量100 5.1.1全局变量100 5.1.2局部变量101 5.2静态变量102 5.3存储类型103 5.4作用域与生存期104 5.4.1作用域104 5.4.2可见性105 5.4.3生存期105 5.5编译预处理105 5.5.1文件包含106 5.5.2宏定义106 5.5.3条件编译108 5.6多文件结构109 本章小结110 习题110 第6章指针114 6.1指针的概念114 6.1.1指针变量的声明115 6.1.2指针变量的初始化与引用115 6.2指针运算116 6.2.1运算符“ [1]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值