Review of Arrays, Pointers, and References
|
|
- Evelyn Eaton
- 5 years ago
- Views:
Transcription
1 Review of Arrays, Pointers, and References Instructor: Tsung-Che Chiang Department of Computer Science and Information Engineering National Taiwan Normal University
2 Types of Pointers and Arrays int num, arr[5], arr2[3][5], *ptr1, **ptr2, (*ptr3)[5]; ptr1 = num; ptr1 = # ptr1 = arr; ptr1 = arr2; ptr2 = num; ptr2 = # ptr2 = &ptr1; ptr2 = arr; ptr2 = arr2; ptr3 = num; ptr3 = # ptr3 = &ptr1; ptr3 = &ptr2; ptr3 = &arr; ptr3 = arr2; ptr3 = &arr2; //an integer //an array of 5 integers //an array of 3 arrays of 5 ints //a pointer to integer //a pointer to pointer to integer //a pointer to array of 5 integers //*ptr1 refers tonum //ptr1[i] refers toarr[i] //*ptr2 refers toptr1 //ptr3[0][i] refers toarr[i] //ptr3[i][j] refers toarr2[i][j] 2
3 Operations on Pointers & Arrays Addition & subtraction Only valid when accessing elements in arrays. Address-of (reference) Dereferencing int arr1[10]; &arr1 arr1+0 arr1+4 &arr1+1 arr1[0] *arr arr arr1[3] *(arr1+3) 3
4 Operations on Pointers & Arrays Addition & subtraction Only valid when accessing elements in arrays. Address-of (reference) Dereferencing &arr2 &arr2+1 int arr2[2][5]; arr2+0 &arr2[0] &arr2[0][0] &arr2[0][0]+1 arr2+1 &arr2[0] arr2 arr2[0] *arr2 arr1[1][2] 4
5 Pointers & Individual Variables int num1 = 10, num2 = 20, *ptr11, *ptr12, **ptr2; ptr11 = &num1; ptr12 = &num2; ptr2 = &ptr11; ptr2 ptr11 ptr12 10 num1 20 num2 *ptr11 = 30; *ptr2 = &num2; *ptr11 = 40; *ptr12 = 50; **ptr2 = 60; ptr2 ptr11 ptr12 30 num1 20 num2 ptr2 ptr11 ptr12 30 num1 20 num2 ptr2 ptr11 ptr12 30 num1 20 num
6 Pointer to Integer int arr1[5]=0, arr2[3][4]=0, *ptr1=0; ptr1 = &arr1[2]; *ptr1 = 20; *(ptr1+1) = 30; ptr1[2] = 40; ptr1 = &arr2[1][3]; *ptr1 = 50; ptr1[1] = 60; ptr ptr1 arr arr2 6
7 Pointer to Array (1/2) int arr2[3][4]=0, (*ptr2)[4]=0; ptr2 = arr2; ptr2[0][0] = 70; ptr2[1][1] = 80; ptr2 = arr2+1; ptr2[0][0] = 90; ptr2[1][1] = 60; ptr2 = &arr2[2]; ptr2[0][0] = 40; ptr arr2 7
8 Pointer to Array (2/2) int arr2[10][4]=0, (*ptr2)[4]=0; ptr2 = arr2; // or ptr2 = &arr2[0]; for (int i=0; i<10; i+=1) for (int j=0; j<4; j+=1) cout << ptr2[i][j] << ; ptr2 = arr2+2; // or ptr2 = &arr2[2]; for (int i=0; i<3; i+=1) for (int j=0; j<4; j+=1) cout << ptr2[i][j] << ; 8
9 Array of Pointers (1/3) int num=0, arr1[5]=0, arr2[3][4]=0, *ptr1=0, *parr3[4]=0; ptr1 = # parr3[0] = ptr1; *parr3[0] = 60; parr3[1] = &arr1[2]; *parr3[1] = 70; parr3[2] = arr1; parr3[2][1] = 80; ptr1 num arr parr3 parr3[3] = arr2[1]; parr3[3][1] = 90; arr
10 Array of Pointers (2/3) int arr2[10][4]=0, *parr3[3]=0; parr3[0] = arr2; parr3[1] = arr2+2; parr3[2] = arr2+5; for (int i=0; i<3; i+=1) for (int j=0; j<4; j+=1) cout << parr3[i][j] << ; cout << endl; 10
11 Array of Pointers (3/3) int arr1[5], arr2[6], arr3[10], *parr[3]=arr1, arr2, arr3, sarr[3] = 5, 6, 10; for (int i=0; i<3; i+=1) for (int j=0; j<sarr[i]; j+=1) cout << parr[i][j] << ; cout << endl; 11
12 Pointer to Pointer int arr2[3][4]=0, **ptr2=0, *parr3[4]=0; ptr2 = parr3; *ptr2 = &arr2[2][1]; ptr2[1] = &arr2[2][3]; ptr2 parr arr2 12
13 Pointer to Pointer void InputByUsers_C(const char msg[], int *p ) printf("%s...>", msg); scanf("%d", p ); void InputByUsers_CPP_Addr(const char msg[], int *p ) cout << msg << "...>"; cin >> *p ; int val; InputByUsers_C("Please input an integer", &val); printf("%d\n", val); InputByUsers_CPP_Addr("Please input an ineger", &val ); cout << val << endl; 13
14 Definitions of Parameters and Nonparameters (1/2) void print1darray_1(int ptr1[], int size) for (int i=0; i<size; i+=1) cout << ptr1[i]; void print1darray_2 (int *ptr2, int size) for (int i=0; i<size; i+=1) cout << *(ptr2+i); void print1darray_3 (int ptr3[10], int size) for (int i=0; i<size; i+=1, ptr3+=1) cout << *ptr3; void print1darray_4 (int ptr4[1000], int size) for (int i=0; i<size; i+=1) cout << ptr4[i]; int arr1[], *arr2=0, arr3[10]=0, arr4[1000]=0; ptr1,ptr2,ptr3, andptr4 are all pointers to integer. // syntax error, butint arr1[] = 1, 2, 3; defines an array of 3 integers. //arr2 is a pointer to integer //arr3 is an array of 10 integers //arr4 is an array of 1000 integers print1darray_1(arr3, 10); print1darray_2(arr4, 1000); 14
15 Definitions of Parameters and Nonparameters (2/2) void print2darray_1(int ptr5[3][5], int rows) for (int i=0; i<rows; i+=1) print1darray_1(ptr5[i], 5); void print2darray_2(int (*ptr6)[5], int rows) for (int i=0; i<rows; i+=1) for (int j=0; j<5; j+=1) cout << ptr6[i][j]; void print2darray_3(int ptr7[][5], int rows) for (int i=0; i<rows; i+=1) for (int j=0; j<5; j+=1) cout << *(*(ptr7+i)+j); ptr5, ptr6, and ptr7 are all pointers to array of 5 integers. int arr5[3][5], arr6[4][5], arr7[4][4]; print2darray_1(arr5, 3); print2darray_2(arr6, 4); print2darray_3(arr7, 4); // syntax error, incompatible type 15
16 Pointer to Struct/Class struct Student static const int ScoreNum = 3; int id, scores[scorenum]; char name[20]; ; void InputByUsers(Student *s) printf("please input id and names...>"); scanf("%d %s", &s->id, s->name); printf("please input %d scores...>", Student::ScoreNum); for (int i=0; i<student::scorenum; i+=1) scanf("%d", &s->scores[i] ); Student stu; InputByUsers(&stu); 16
17 Pointer to Struct/Class void InputByUsers_Batch(Student stu[], int size) for (int s=0; s<size; s+=1) printf("student %d:\n", s+1); printf("please input id and names...>"); scanf("%d %s", &stu[s].id, stu[s].name); printf("please input %d scores...>", Student::ScoreNum); for (int i=0; i<student::scorenum; i+=1) scanf("%d", &stu[s].scores[i] ); const int StudentNum = 10; Student stu[studentnum]; InputByUsers_Batch(stu, StudentNum); 17
18 Pointer to Struct/Class void InputByUsers_Batch(Student stu[], int size) for (int s=0; s<size; s+=1) printf("student %d:\n", s+1); InputByUsers(&stu[s]); const int StudentNum = 10; Student stu[studentnum]; InputByUsers_Batch(stu, StudentNum); 18
19 Pointers vs. References int TsaiYiLin; int *agent = &TsaiYiLin, &Jolin = TsaiYiLin; TsaiYiLin = 7; Jolin = 9; *agent = 11; agent TsaiYiLin/Jolin void passbyreference(int &Tsai10) Tsai10 = 10; cout << Tsai10; void passbypointer(int *agent) *agent = 90; cout << *agent; void passbyvalue(int photo) photo = -1; cout << photo; passbyreference(tsaiyilin); //TsaiYiLin changes to10. passbypointer(&jolin); //TsaiYiLin changes to90. passbyvalue(jolin); //TsaiYiLin does not change. 19
20 Pointers vs. References int TsaiYiLin, ChaoJayLun; int *agent = &TsaiYiLin, *agent2, // Ok. Pointers can be left uninitialized. &Jolin = TsaiYiLin, &Jay; // Error. References can NOT be left uninitialized. agent = &ChaoJayLun; // Pointers can be modified to point to other objects after definition. Jolin = ChaoJayLun; // References will not refer to other objects after definition. // You are modifying the object to which the reference refers. 20
21 Pointers vs. References void InputByUsers_CPP_Addr(const char *msg, int *p) cout << msg << "...>"; cin >> *p; void InputByUsers_CPP_Ref(const char *msg, int &p) cout << msg << "...>"; cin >> p; int val; InputByUsers_CPP_Addr("Please input an integer", &val); cout << val << endl; InputByUsers_CPP_Ref("Please input an integer", val); cout << val << endl; 21
Pointers. 1 Background. 1.1 Variables and Memory. 1.2 Motivating Pointers Massachusetts Institute of Technology
Introduction to C++ Massachusetts Institute of Technology ocw.mit.edu 6.096 Pointers 1 Background 1.1 Variables and Memory When you declare a variable, the computer associates the variable name with a
More informationPointer Arithmetic. Lecture 4 Chapter 10. Robb T. Koether. Hampden-Sydney College. Wed, Jan 25, 2017
Pointer Arithmetic Lecture 4 Chapter 10 Robb T. Koether Hampden-Sydney College Wed, Jan 25, 2017 Robb T. Koether (Hampden-Sydney College) Pointer Arithmetic Wed, Jan 25, 2017 1 / 36 1 Pointer Arithmetic
More informationPointers, Dynamic Data, and Reference Types
Pointers, Dynamic Data, and Reference Types Review on Pointers Reference Variables Dynamic Memory Allocation The new operator The delete operator Dynamic Memory Allocation for Arrays 1 C++ Data Types simple
More information! Pass by value: when an argument is passed to a. ! It is implemented using variable initialization. ! Changes to the parameter in the function body
Week 3 Pointers, References, Arrays & Structures Gaddis: Chapters 6, 7, 9, 11 CS 5301 Fall 2013 Jill Seaman 1 Arguments passed by value! Pass by value: when an argument is passed to a function, its value
More informationWhat is an algorithm?
Announcements CS 142 C++ Pointers Reminder Program 6 due Sunday, Nov. 9 th by 11:55pm 11/3/2014 2 Pointers and the Address Operator Pointer Variables Each variable in a program is stored at a unique address
More informationPOINTERS - Pointer is a variable that holds a memory address of another variable of same type. - It supports dynamic allocation routines. - It can improve the efficiency of certain routines. C++ Memory
More informationC++ ARRAYS POINTERS POINTER ARITHMETIC. Problem Solving with Computers-I
C++ ARRAYS POINTERS POINTER ARITHMETIC Problem Solving with Computers-I General model of memory Sequence of adjacent cells Each cell has 1-byte stored in it Each cell has an address (memory location) Memory
More informationFundamentals of Programming Session 20
Fundamentals of Programming Session 20 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2013 These slides have been created using Deitel s slides Sharif University of Technology Outlines
More informationCS31 Discussion 1E Spring 17 : week 08
CS31 Discussion 1E Spring 17 : week 08 TA: Bo-Jhang Ho bojhang@cs.ucla.edu Credit to former TA Chelsea Ju Project 5 - Map cipher to crib Approach 1: For each pair of positions, check two letters in cipher
More informationcalling a function - function-name(argument list); y = square ( z ); include parentheses even if parameter list is empty!
Chapter 6 - Functions return type void or a valid data type ( int, double, char, etc) name parameter list void or a list of parameters separated by commas body return keyword required if function returns
More informationa data type is Types
Pointers Class 2 a data type is Types Types a data type is a set of values a set of operations defined on those values in C++ (and most languages) there are two flavors of types primitive or fundamental
More informationBITG 1113: POINTER LECTURE 12
BITG 1113: POINTER LECTURE 12 1 LEARNING OUTCOMES At the end of this lecture, you should be able to: 1. Describe the concept of pointer. 2. Write declaration and initialization of a pointer. 3. Do arithmetic
More information[CSE10200] Programming Basis ( 프로그래밍기초 ) Chapter 9. Seungkyu Lee. Assistant Professor, Dept. of Computer Engineering Kyung Hee University
[CSE10200] Programming Basis ( 프로그래밍기초 ) Chapter 9 Seungkyu Lee Assistant Professor, Dept. of Computer Engineering Kyung Hee University CHAPTER 9 Pointers #1~2 Pointer int main () { int a; int b; int c;
More informationLab 2: Pointers. //declare a pointer variable ptr1 pointing to x. //change the value of x to 10 through ptr1
Lab 2: Pointers 1. Goals Further understanding of pointer variables Passing parameters to functions by address (pointers) and by references Creating and using dynamic arrays Combing pointers, structures
More information! The address operator (&) returns the address of a. ! Pointer: a variable that stores the address of another
Week 4 Pointers & Structs Gaddis: Chapters 9, 11 CS 5301 Spring 2015 Jill Seaman 1 Pointers and Addresses! The address operator (&) returns the address of a variable. int x; cout
More informationCS201- Introduction to Programming Current Quizzes
CS201- Introduction to Programming Current Quizzes Q.1 char name [] = Hello World ; In the above statement, a memory of characters will be allocated 13 11 12 (Ans) Q.2 A function is a block of statements
More informationArrays. Example: Run the below program, it will crash in Windows (TurboC Compiler)
1 Arrays General Questions 1. What will happen if in a C program you assign a value to an array element whose subscript exceeds the size of array? A. The element will be set to 0. B. The compiler would
More informationExam 3 Chapters 7 & 9
Exam 3 Chapters 7 & 9 CSC 2100-002/003 29 Mar 2017 Read through the entire test first BEFORE starting Put your name at the TOP of every page The test has 4 sections worth a total of 100 points o True/False
More informationUEE1302(1066) F12: Introduction to Computers and Programming. Lab 12: Pointer & Dynamic Array (II)
UEE1302(1066) F12: Introduction to Computers and Programming Lab 12: Pointer & Dynamic Array (II) What you will learn from Lab 12 In this laboratory, you will understand how to use pointers to structure
More informationStructured Data. CIS 15 : Spring 2007
Structured Data CIS 15 : Spring 2007 Functionalia HW4 Part A due this SUNDAY April 1st: 11:59pm Reminder: I do NOT accept LATE HOMEWORK. Today: Dynamic Memory Allocation Allocating Arrays Returning Pointers
More informationHomework #3 CS2255 Fall 2012
Homework #3 CS2255 Fall 2012 MULTIPLE CHOICE 1. The, also known as the address operator, returns the memory address of a variable. a. asterisk ( * ) b. ampersand ( & ) c. percent sign (%) d. exclamation
More informationComputer Department. Question (1): State whether each of the following is true or false. Question (2): Select the correct answer from the following:
Computer Department Program: Computer Midterm Exam Date : 19/11/2016 Major: Information & communication technology 1 st Semester Time : 1 hr (10:00 11:00) Course: Introduction to Programming 2016/2017
More informationCMPS 221 Sample Final
Name: 1 CMPS 221 Sample Final 1. What is the purpose of having the parameter const int a[] as opposed to int a[] in a function declaration and definition? 2. What is the difference between cin.getline(str,
More informationPointers. Lecture 2 Sections Robb T. Koether. Hampden-Sydney College. Fri, Jan 18, 2013
Pointers Lecture 2 Sections 10.3-10.8 Robb T. Koether Hampden-Sydney College Fri, Jan 18, 2013 Robb T. Koether (Hampden-Sydney College) Pointers Fri, Jan 18, 2013 1 / 35 1 Introduction 2 Pointer Arithmetic
More informationLAB 4.1 Relational Operators and the if Statement
LAB 4.1 Relational Operators and the if Statement // This program tests whether or not an initialized value of num2 // is equal to a value of num1 input by the user. int main( ) int num1, // num1 is not
More information! A pointer variable (or pointer): ! An asterisk is used to define a pointer variable. ! ptr is a pointer to an int or
Ch 9. Pointers CS 2308 Spring 2014 Jill Seaman 1 A Quote A pointer is a variable that contains the address of a variable. Pointers are much used in C, partly because they are sometimes the only way to
More informationIntroduction to Computer Science Midterm 3 Fall, Points
Introduction to Computer Science Fall, 2001 100 Points Notes 1. Tear off this sheet and use it to keep your answers covered at all times. 2. Turn the exam over and write your name next to the staple. Do
More informationUEE1302 (1102) F10 Introduction to Computers and Programming (I)
Computational Intelligence on Automation Lab @ NCTU UEE1302 (1102) F10 Introduction to Computers and Programming (I) Programming Lecture 10 Pointers & Dynamic Arrays (I) Learning Objectives Pointers Data
More informationPointers. Lecture 2 Sections Robb T. Koether. Hampden-Sydney College. Mon, Jan 20, 2014
Pointers Lecture 2 Sections 10.3-10.8 Robb T. Koether Hampden-Sydney College Mon, Jan 20, 2014 Robb T. Koether (Hampden-Sydney College) Pointers Mon, Jan 20, 2014 1 / 35 1 Endianness 2 Pointer Arithmetic
More informationLinked List using a Sentinel
Linked List using a Sentinel Linked List.h / Linked List.h Using a sentinel for search Created by Enoch Hwang on 2/1/10. Copyright 2010 La Sierra University. All rights reserved. / #include
More informationConsider the above code. This code compiles and runs, but has an error. Can you tell what the error is?
Discussion 1H Notes (Week 8, May 20) TA: Brian Choi (schoi@cs.ucla.edu) Section Webpage: http://www.cs.ucla.edu/~schoi/cs31 Dynamic Allocation of Memory Recall that when you create an array, you must know
More informationConstants, References
CS 246: Software Abstraction and Specification Constants, References Readings: Eckel, Vol. 1 Ch. 8 Constants Ch. 11 References and the Copy Constructor U Waterloo CS246se (Spring 2011) p.1/14 Uses of const
More informationThe American University in Cairo Department of Computer Science & Engineering CSCI &09 Dr. KHALIL Exam-I Fall 2011
The American University in Cairo Department of Computer Science & Engineering CSCI 106-07&09 Dr. KHALIL Exam-I Fall 2011 Last Name :... ID:... First Name:... Form I Section No.: EXAMINATION INSTRUCTIONS
More informationVariables, Memory and Pointers
Variables, Memory and Pointers A variable is a named piece of memory The name stands in for the memory address int num; Variables, Memory and Pointers When a value is assigned to a variable, it is stored
More informationMidterm Exam #2 Spring (1:00-3:00pm, Friday, March 15)
Print Your Name: Signature: USC email address: CSCI 101L Fundamentals of Computer Programming Midterm Exam #2 Spring 2013 (1:00-3:00pm, Friday, March 15) Instructor: Prof Tejada Problem #1 (20 points):
More informationFORM 2 (Please put your name and form # on the scantron!!!!)
CS 161 Exam 2: FORM 2 (Please put your name and form # on the scantron!!!!) True (A)/False(B) (2 pts each): 1. Recursive algorithms tend to be less efficient than iterative algorithms. 2. A recursive function
More informationTutorial 10 Pointers in C. Shuyue Hu
Tutorial 10 Pointers in C Shuyue Hu Content Basic concept of pointers Pointer arithmetic Array of pointers Pointer to pointer Passing pointers to functions in C Return pointer from functions in C 2 Content
More informationProgramming in C++: Assignment Week 2
Programming in C++: Assignment Week 2 Total Marks : 20 Each question carries one mark Right hand side of each question shows its Type (MCQ/MSQ) March 3, 2017 Question 1 Look at the code snippet below:
More informationPointers. Memory. void foo() { }//return
Pointers Pointers Every location in memory has a unique number assigned to it called it s address A pointer is a variable that holds a memory address A pointer can be used to store an object or variable
More informationFundamentals of Programming Session 19
Fundamentals of Programming Session 19 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2013 These slides have been created using Deitel s slides Sharif University of Technology Outlines
More information(4) Find the syntax error(s), if any, in the following program: #include main() int x[5],*y,z[5]; for(i=0;i<5;i++) x[i]=i; z[i]=i+3; y=z; x=y; (5) Rew
(1)Rewrite the following program after removing the syntactical error(s), if any Underline each correction, struct TV char Manu_name[20]; char Tv_Type; int Price = 17000; New Tv; gets(manu_name); gets(tv_type);
More informationPointers! Arizona State University 1
Pointers! CSE100 Principles of Programming with C++, Fall 2018 (based off Chapter 10 slides by Pearson) Ryan Dougherty Arizona State University http://www.public.asu.edu/~redoughe/ Arizona State University
More informationCS Introduction to Programming Midterm Exam #2 - Prof. Reed Fall 2015
CS 141 - Introduction to Programming Midterm Exam #2 - Prof. Reed Fall 2015 You may take this test with you after the test, but you must turn in your answer sheet. This test has the following sections:
More informationWARM UP LESSONS BARE BASICS
WARM UP LESSONS BARE BASICS CONTENTS Common primitive data types for variables... 2 About standard input / output... 2 More on standard output in C standard... 3 Practice Exercise... 6 About Math Expressions
More informationProgramación de Computadores. Cesar Julio Bustacara M. Departamento de Ingeniería de Sistemas Facultad de Ingeniería Pontificia Universidad Javeriana
POINTERS Programación de Computadores Cesar Julio Bustacara M. Departamento de Ingeniería de Sistemas Facultad de Ingeniería Pontificia Universidad Javeriana 2018-01 Pointers A pointer is a reference to
More informationAnnouncements. assign0 due tonight. Labs start this week. No late submissions. Very helpful for assign1
Announcements assign due tonight No late submissions Labs start this week Very helpful for assign1 Goals for Today Pointer operators Allocating memory in the heap malloc and free Arrays and pointer arithmetic
More informationCS2351 Data Structures. Lecture 7: A Brief Review of Pointers in C
CS2351 Data Structures Lecture 7: A Brief Review of Pointers in C 1 About this lecture Pointer is a useful object that allows us to access different places in our memory We will review the basic use of
More informationOverloading Operators
Overloading Operators and Dynamic Memory Allocation Week 5 Gaddis: 14.5 CS 5301 Fall 20 Jill Seaman 9.8 Dynamic Memory Allocation! When a function is called, memory for local variables is automatically
More informationMemory and Pointers written by Cathy Saxton
Memory and Pointers written by Cathy Saxton Basic Memory Layout When a program is running, there are three main chunks of memory that it is using: A program code area where the program itself is loaded.
More informationIn this chapter, you will learn about: Pointers. Dynamic Arrays. Introduction Computer Science 1 CS 23021
Chapter 9 In this chapter, you will learn about: Pointers Dynamic Arrays Address A pointer is the memory address of a variable 1022 1023 x Recall, Computer memory is divided into cells (or bytes) 1024
More informationCS 108 Computing Fundamentals. October/November Array Bootcamp
CS 108 Computing Fundamentals October/November 2017 Array Bootcamp For arrays: passing to a function "by value" means passing a single element's "contents" For arrays: no more than one element's contents
More informationChapter 9: Pointers Co C pyr py igh i t gh Pear ea so s n n E ducat ca io i n, n Inc. n c.
Chapter 9: Pointers 9.1 Getting the Address of a Variable C++ Variables [ not in book ] A Variable has all of the following attributes: 1. name 2. type 3. size 4. value 5. storage class static or automatic
More informationCS31 Discussion. Jie(Jay) Wang Week8 Nov.18
CS31 Discussion Jie(Jay) Wang Week8 Nov.18 Outline Pointer Struct Memory Management When the program gets executed, it gets some amount of memory allocated for use. memory Program 1 Program 2 Memory Management
More informationPointers. September 13, 2017 Hassan Khosravi / Geoffrey Tien 1
Pointers September 13, 2017 Hassan Khosravi / Geoffrey Tien 1 Multi-dimensional arrays A two-dimensional array is specified using two indices First index denotes the row, second index denotes column int
More informationECE264 Fall 2013 Exam 1, September 24, 2013
ECE264 Fall 2013 Exam 1, September 24, 2013 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing it.
More informationC Pointers. ENGG1002 Computer Programming and Applica;ons Dr. Hayden Kwok Hay So Week 2. GeGng Hold of Memory. Sta;c: When we define a variable
C Pointers ENGG1002 Computer Programming and Applica;ons Dr. Hayden Kwok Hay So Week 2 GeGng Hold of Memory Sta;c: When we define a variable int gvar; 136 132 128 12 120 116 112 108 10 100 0 27 3 2 10
More informationAdministrivia. Introduction to Computer Systems. Pointers, cont. Pointer example, again POINTERS. Project 2 posted, due October 6
CMSC 313 Introduction to Computer Systems Lecture 8 Pointers, cont. Alan Sussman als@cs.umd.edu Administrivia Project 2 posted, due October 6 public tests s posted Quiz on Wed. in discussion up to pointers
More informationTHE GOOD, BAD AND UGLY ABOUT POINTERS. Problem Solving with Computers-I
THE GOOD, BAD AND UGLY ABOUT POINTERS Problem Solving with Computers-I The good: Pointers pass data around efficiently Pointers and arrays 100 104 108 112 116 ar 20 30 50 80 90 ar is like a pointer to
More informationPointers. Lecture 1 Sections Robb T. Koether. Hampden-Sydney College. Wed, Jan 14, 2015
Pointers Lecture 1 Sections 10.1-10.2 Robb T. Koether Hampden-Sydney College Wed, Jan 14, 2015 Robb T. Koether (Hampden-Sydney College) Pointers Wed, Jan 14, 2015 1 / 23 1 Pointers 2 Pointer Initialization
More informationDiscussion 1E. Jie(Jay) Wang Week 10 Dec.2
Discussion 1E Jie(Jay) Wang Week 10 Dec.2 Outline Dynamic memory allocation Class Final Review Dynamic Allocation of Memory Recall int len = 100; double arr[len]; // error! What if I need to compute the
More informationAbstract Data Type (ADT) & ARRAYS ALGORITHMS & DATA STRUCTURES I COMP 221
Abstract Data Type (ADT) & ARRAYS ALGORITHMS & DATA STRUCTURES I COMP 221 Abstract Data Type (ADT) Def. a collection of related data items together with an associated set of operations e.g. whole numbers
More informationConstruction, Destruction, and Assignment
Construction, Destruction, and Assignment Instructor: Tsung-Che Chiang tcchiang@ieee.org Department of Computer Science and Information Engineering National Taiwan Normal University The Practice of Programming,
More informationCMSC 202 Midterm Exam 1 Fall 2015
1. (15 points) There are six logic or syntax errors in the following program; find five of them. Circle each of the five errors you find and write the line number and correction in the space provided below.
More informationPointers II. Class 31
Pointers II Class 31 Compile Time all of the variables we have seen so far have been declared at compile time they are written into the program code you can see by looking at the program how many variables
More informationWeek 3. Function Definitions. Example: Function. Function Call, Return Statement. Functions & Arrays. Gaddis: Chapters 6 and 7.
Week 3 Functions & Arrays Gaddis: Chapters 6 and 7 CS 5301 Fall 2015 Jill Seaman 1 Function Definitions! Function definition pattern: datatype identifier (parameter1, parameter2,...) { statements... Where
More information9.2 Pointer Variables. Pointer Variables CS Pointer Variables. Pointer Variables. 9.1 Getting the Address of a. Variable
CS 1400 Chapter 9 9.1 Getting the Address of a Variable A variable has: Name Value Location in a memory Type The location in memory is an address Use address operator & to get address of a variable: int
More informationCSCE 206: Structured Programming in C++
CSCE 206: Structured Programming in C++ 2017 Spring Exam 3 Monday, April 17, 2017 Total - 100 Points B Instructions: Total of 11 pages, including this cover and the last page. Before starting the exam,
More informationCSCE 206: Structured Programming in C++
CSCE 206: Structured Programming in C++ 2017 Spring Exam 3 Monday, April 17, 2017 Total - 100 Points A Instructions: Total of 11 pages, including this cover and the last page. Before starting the exam,
More informationCS 115 Midterm 2 Review Quiz
CS115Midterm2ReviewQuiz November6,2008 Groupmembers: Rules Youmustbrieflyexplainyouranswerstoreceivepartialcredit. Whenasnippetofcodeisgiventoyou,youcanassumethatthecodeis enclosedwithinsomefunction,evenifnofunctiondefinitionisshown.you
More informationAssignment #1 (50 points; due 11:59 P.M.)
Assignment #1 (50 points; due 9/25/2017 @ 11:59 P.M.) This project is designed to help you master pointers. To that end, you'll get the most out of it by working through the problems by hand. Only after
More informationC Pointers. 6th April 2017 Giulio Picierro
C Pointers 6th April 07 Giulio Picierro Functions Return type Function name Arguments list Function body int sum(int a, int b) { return a + b; } Return statement (return keyword
More informationCOMP 2355 Introduction to Systems Programming
COMP 2355 Introduction to Systems Programming Christian Grothoff christian@grothoff.org http://grothoff.org/christian/ 1 Pointers Pointers denote addresses in memory In C types, the * represents the use
More informationDYNAMIC ARRAYS; FUNCTIONS & POINTERS; SHALLOW VS DEEP COPY
DYNAMIC ARRAYS; FUNCTIONS & POINTERS; SHALLOW VS DEEP COPY Pages 800 to 809 Anna Rakitianskaia, University of Pretoria STATIC ARRAYS So far, we have only used static arrays The size of a static array must
More informationPointers, Arrays and C-Strings
Pointers, Arrays and C-Strings Data Processing Course, I. Hrivnacova, IPN Orsay Variable in Memory Pointers Nullptr Pointers vs References C-Arrays C-Strings Problems with C-Arrays, C-Strings 1 Variables
More informationKingdom of Saudi Arabia Princes Nora bint Abdul Rahman University College of Computer Since and Information System CS242 ARRAYS
Kingdom of Saudi Arabia Princes Nora bint Abdul Rahman University College of Computer Since and Information System CS242 1 ARRAYS Arrays 2 Arrays Structures of related data items Static entity (same size
More informationPointers and Strings Chapters 10, Pointers and Arrays (10.3) 3.2 Pointers and Arrays (10.3) An array of ints can be declared as
Pointers and Strings Chapters 10, 12 2/5/07 CS250 Introduction to Computer Science II 1 3.1 Pointers and Arrays (10.3) An array of ints can be declared as o int numbers[] = 1, 2, 3, 4, 5; numbers is also
More information11 'e' 'x' 'e' 'm' 'p' 'l' 'i' 'f' 'i' 'e' 'd' bool equal(const unsigned char pstr[], const char *cstr) {
This document contains the questions and solutions to the CS107 midterm given in Spring 2016 by instructors Julie Zelenski and Michael Chang. This was an 80-minute exam. Midterm questions Problem 1: C-strings
More informationLecture 14. Dynamic Memory Allocation
Copyright 1996 David R. Hanson Computer Science 126, Fall 1996 14-1 Lecture 14. Dynamic Memory Allocation The number of variables and their sizes are determined at compile-time before a program runs /*
More informationIntroduction to Scientific Computing and Problem Solving
Introduction to Scientific Computing and Problem Solving Lecture #22 Pointers CS4 - Introduction to Scientific Computing and Problem Solving 2010-22.0 Announcements HW8 due tomorrow at 2:30pm What s left:
More informationl Determine if a number is odd or even l Determine if a number/character is in a range - 1 to 10 (inclusive) - between a and z (inclusive)
Final Exam Exercises Chapters 1-7 + 11 Write C++ code to: l Determine if a number is odd or even CS 2308 Fall 2016 Jill Seaman l Determine if a number/character is in a range - 1 to 10 (inclusive) - between
More informationFirst of all, it is a variable, just like other variables you studied
Pointers: Basics What is a pointer? First of all, it is a variable, just like other variables you studied So it has type, storage etc. Difference: it can only store the address (rather than the value)
More informationWeek 8. Muhao Chen
Week 8 Muhao Chen muhaochen@ucla.edu 1 Outline Review Pointers and references Dynamic memory allocation Struct 2 Pointers 3 Pointers Pointer: Address of a variable in the memory. Declare a pointer (use
More informationC Pointers. 7.2 Pointer Variable Definitions and Initialization
1 7 C Pointers 7.2 Pointer Variable Definitions and Initialization Pointer variables Contain memory addresses as their values Normal variables contain a specific value (direct reference) Pointers contain
More informationPointers. Variable Declaration. Chapter 10
Pointers Chapter 10 Variable Declaration When a variable is defined, three fundamental attributes are associated with it: Name Type Address The variable definition associates the name, the type, and the
More informationLectures 6/7 Pointers and Dynamic Arrays
CSC212 Data Structure - Section FG Lectures 6/7 Pointers and Dynamic Arrays Instructor: Feng HU Department of Computer Science City College of New York @ Feng HU, 2016 1 Why Pointers and Dynamic Memory
More information1- Write a single C++ statement that: A. Calculates the sum of the two integrates 11 and 12 and outputs the sum to the consol.
1- Write a single C++ statement that: A. Calculates the sum of the two integrates 11 and 12 and outputs the sum to the consol. B. Outputs to the console a floating point number f1 in scientific format
More informationKOM3191 Object Oriented Programming Dr Muharrem Mercimek ARRAYS ~ VECTORS. KOM3191 Object-Oriented Computer Programming
KOM3191 Object Oriented Programming Dr Muharrem Mercimek 1 ARRAYS ~ VECTORS KOM3191 Object-Oriented Computer Programming KOM3191 Object Oriented Programming Dr Muharrem Mercimek 2 What is an array? Arrays
More informationC++ for Java Programmers
Basics all Finished! Everything we have covered so far: Lecture 5 Operators Variables Arrays Null Terminated Strings Structs Functions 1 2 45 mins of pure fun Introduction Today: Pointers Pointers Even
More informationPROGRAMMAZIONE I A.A. 2017/2018
PROGRAMMAZIONE I A.A. 2017/2018 A pointer is a variable whose value is the address of another variable, i.e., direct address of the memory location. DECLARING POINTERS POINTERS A pointer represents both
More informationUNDERSTANDING THE COMPUTER S MEMORY
POINTERS UNDERSTANDING THE COMPUTER S MEMORY Every computer has a primary memory. All our data and programs need to be placed in the primary memory for execution. The primary memory or RAM (Random Access
More information16.216: ECE Application Programming Fall 2011
16.216: ECE Application Programming Fall 2011 Exam 2 Solution 1. (24 points, 6 points per part) Multiple choice For each of the multiple choice questions below, clearly indicate your response by circling
More informationC++ Final Exam 2017/2018
1) All of the following are examples of integral data types EXCEPT. o A Double o B Char o C Short o D Int 2) After the execution of the following code, what will be the value of numb if the input value
More informationBITG 1113: Array (Part 1) LECTURE 8
BITG 1113: Array (Part 1) LECTURE 8 1 1 LEARNING OUTCOMES At the end of this lecture, you should be able to: 1. Describe the fundamentals of arrays 2. Describe the types of array: One Dimensional (1 D)
More information5.1. Chapter 5: The Increment and Decrement Operators. The Increment and Decrement Operators. Looping. ++ is the increment operator.
Chapter 5: Looping 5.1 The Increment and Decrement Operators Copyright 2009 Pearson Education, Inc. Copyright Publishing as Pearson 2009 Addison-Wesley Pearson Education, Inc. Publishing as Pearson Addison-Wesley
More informationAgenda. The main body and cout. Fundamental data types. Declarations and definitions. Control structures
The main body and cout Agenda 1 Fundamental data types Declarations and definitions Control structures References, pass-by-value vs pass-by-references The main body and cout 2 C++ IS AN OO EXTENSION OF
More informationBITG 1233: Array (Part 1) LECTURE 8 (Sem 2, 17/18)
BITG 1233: Array (Part 1) LECTURE 8 (Sem 2, 17/18) 1 LEARNING OUTCOMES At the end of this lecture, you should be able to: 1. Describe the fundamentals of arrays 2. Describe the types of array: One Dimensional
More informationProgramming with Arrays Intro to Pointers CS 16: Solving Problems with Computers I Lecture #11
Programming with Arrays Intro to Pointers CS 16: Solving Problems with Computers I Lecture #11 Ziad Matni Dept. of Computer Science, UCSB Thursday, 5/17 in this classroom Starts at 2:00 PM **SHARP** Please
More information*Starting Out with C++: From Control Structures through Objects, 7/E* by *Tony Gaddis* COMPUTER PROGRAMMING LECTURE 05 LOOPS IMRAN IHSAN
PowerPoint Slides adapted from *Starting Out with C++: From Control Structures through Objects, 7/E* by *Tony Gaddis* Copyright 2012 Pearson Education Inc. COMPUTER PROGRAMMING LECTURE 05 LOOPS IMRAN IHSAN
More informationConsider the following statements. string str1 = "ABCDEFGHIJKLM"; string str2; After the statement str2 = str1.substr(1,4); executes, the value of str2 is " ". Given the function prototype: float test(int,
More informationPointers and Dynamic Arrays
Pointers and Dynamic Arrays Pointers A pointer is the memory address of a variable Memory addresses can be used as names for variables If a variable is stored in three memory locations, the address of
More information